事前提一嘴
室友考完研了,下一年就是我了,真不想和他们一起考,压力太大了,这里分享一点笔记吧
采用王道考研的书以及视频,去掉了一些书上的废话,加上了视频中的重点,最后总结出来的
如有侵权,即可删除
应用层
考纲内容
- 网络应用模型
客户/服务器模型;P2P模型 - 域名系统(DNS)
层次域名空间;域名服务器;域名解析过程 - 文件传输协议(FTP)
FTP的工作原理;控制连接与数据连接 - 电子邮件(E-mail)
电子邮件系统的组成结构;电子邮件格式与MIME;SMTP与POP3 - 万维网(WWW)
WWW的概念与组成结构;HTTP
本章内容既可以以选择题的形式考察,也可以结合其他的内容出选择题。所以牢固掌握本章的几个典型应用层协议时关键
应用层概述
应用层对应用程序的通信提供服务
应用层协议定义:
应用进程交换的报文类型:是请求还是响应
各种报文类型的语法:如报文中的各个字段及其详细描述
字段的语义,即包含在字段中的信息的含义
进程何时、如何发送报文,以及对报文进行响应的规则
应用层的功能
文件传输、访问和管理,FTP
电子邮件,SMTP、POP3
虚拟终端,HTTP
查询服务和远程作业登录,DNS
网络应用模型
客户/服务器(C/S)模型
服务器:**提供计算服务
的设备
客户机:请求计算服务
**的主机
服务器特点
1、永久提供服务
2、永久性访问地址/域名
客户端特点
1、与服务器通信,使用服务器提供的服务
2、间歇性接入网络
3、可能使用动态IP地址
4、不与其他客户机直接通信
C/S模型中,服务器性能的好坏决定了整个系统的性能
,当大量用户请求服务时,服务器就必然成为系统的瓶颈
工作流程
- 服务器处于接收请求的状态
- 客户机发出服务请求,并等待接收结果
- 服务器收到请求后,分析请求,进行必要的处理,得到结果并发送给客户机
客户端程序必须知道服务器程序的地址
服务器程序不需要知道客户程序的地址
P2P模型
P2P模型特点
1、不存在永远在线的服务器
2、每个主机既可以提供服务,也可以请求服务
3、任意端系统/结点之间可以直接通讯
4、结点间歇性接入网络
5、结点可能改变IP地址
6、可扩展性好
7、网络健壮性强
P2P模型的思想是**整个网络中的传输内容不再被保存在中心服务器上
,每个结点
都同时具有下载、上传的功能,其权利和义务都是大体对等
**的
P2P模型**缺点
:在获取服务的同时,还要给其他结点提供服务,因此会占用较多的内存,影响整机速度
**
域名系统(DNS)
域名系统(DNS)是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名转换为便于机器处理的IP地址
DNS系统**采用客户/服务器模型
,其协议运行在UDP
之上,使用53号端口
**
从概念上可将DNS分为3部分:层次域名空间、域名服务器和解析器
层次域名空间
因特网采用**层次树状结构的命名方法
**
采用这种命名方法,任何一个连接到因特网的主机或路由器,都有一个**唯一的层次结构名称
,即域名
**
域是名字空间中一个可被管理的划分
域还可以划分为子域,而子域还可以继续划分为子域的子域,这样就形成了**顶级域、二级域、三级域等
**
每个域名都由标号序列组成,而各标号之间用点(.
)隔开
关于域名中的标号有以下几点需要注意:
- 标号中的英文不区分大小写
- 标号中除连字符(
-
)外不能使用其他的标点符号 - 每个标号不超过63个字符,多标号组成的**
完整域名最长不超过255个字符
** 级别最低的域名写在最左边,级别最高的顶级域名写在最右边
**顶级域名(TLD)
**分为如下三大类:
国家(地区)顶級城名(nTLD)
。国家和某些地区的域名,如“.cn”表示中国,“.us”表示美国,“.uk”表示英国通用顶级域名(gTLD)
。常见的有“.com”(公司)、“.net”(网络服务机构)、“.org”(非营利性组织)和“.gov”(国家或政府部门)等基础结构域名
。这种顶级域名只有一个,即**arpa,用于反向域名解析
**,因此又称反向域名
在域名系统中,每个域分别由不同的组织进行管理
每个组织都可以将它的域再分成一定数目的子域,并将这些子域委托给其他组织去管理
例如,管理cn域的中国将edu.cn子域授权给中国教育和科研计算机网(CERNET)来管理
二级域名
类别域名
。如:ac、com、edu、gov、mil、net、org行政区域名
。用于我国各省、自治区、直辖市,如:bj、js
域名服务器
因特网的域名系统被设计成一个**联机分布式的数据库系统
,并采用客户/服务器模型
**
域名到IP地址的解析是由运行在域名服务器上的程序完成的
区:一个服务器所负责管辖的(或有权限的)范围(不以“域”为单位)
各单位根据具体情况来划分自己管辖范围的区,但**在一个区中的所有结点必须是能够连通的
**
每个区设置相应的权限域名服务器
,用来**保存该区中的所有主机的域名到IP地址的映射
**
每个域名服务器不但能够**进行一些域名到IP地址的解析
,而且还必须具有连向其他域名服务器的信息
**
当自己不能进行域名到IP地址的转换时,能够知道到什么地方去找其他域名服务器
DNS使用了大量的域名服务器,它们以层次方式组织
没有一台域名服务器具有因特网上所有主机的映射
相反,该映射分布在所有的DNS上
主要有4种类型的域名服务器:
-
根域名眼务器
根域名服务器是最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的IP地址
若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先要求助于根域名服务器
通常它并不直接把待查询的域名直接转换成IP地址,而是**告诉本地域名服务器下一步应当找哪个顶级域名服务器进行查询
** -
顶级域名服务器
负责**管理在该顶级域名服务器注册的所有二级域名
** -
授权域名服务器(权限域名服务器)
每台主机都必须在授权域名服务器处登记
为了更加可靠地工作,一台主机最好至少有两个授权域名服务器
实际上,许多**域名服务器都同时充当本地域名服务器和授权域名服务器
**
授权域名服务器总能**将其管辖的主机名转换为该主机的IP地址
** -
本地域名服务器
每个因特网服务提供者(ISP)都可以拥有一个本地域名服务器
当**一台主机发出DNS查询请求
时,这个查询请求报文就发送给该主机的本地域名服务器
**
DNS的层次结构
域名解析过程
域名解析:把**域名映射成为IP地址
或把IP地址映射成域名
的过程
前者称为正向解析
,后者称为反向解析
**
当客户端需要域名解析时,通过本机的DNS客户端构造一个DNS请求报文,以**UDP数据报方式
**发往本地域名服务器
域名解析有两种方式:递归查询和递归与迭代相结合的查询
递归查询过程(靠别人)
本地域名服务器只需向根域名服务器查询一次,后面的几次查询都是递归地在其他几个域名服务器之间进行的[步骤3~6]
在步骤7中,本地域名服务器从根域名服务器得到了所需的IP地址
最后在步骤8中,本地域名服务器把查询结果告诉发起查询的主机
由于该方法给根域名服务造成的负载过大,所以在实际中几乎不使用
常用递归与迭代相结合的查询方式(靠自己)
-
主机向本地域名服务器的查询采用的是递归查询
如果本地主机所询问的本地域名服务器不知道被查询域名的IP地址
那么本地域名服务器就以DNS客户的身份,向根域名服务器继续发出查询请求报文(即替该主机继续查询),而不是让该主机自己进行下一步的查询 -
本地域名服务器向根域名服务器的查询采用迭代查询
当根域名服务器收到本地域名服务器发出的选代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪个顶级域名服务器进行查询”
然后让本地域名服务器向这个顶级域名服务器进行后续的查询
顶级域名服务器收到查询报文后,要么给出所要查询的IP地址,要么告诉本地域名服务器下一步应向哪个权限域名服务器查询
最后,知道所要解析的域名的IP地址后,把这个结果返回给发起查询的主机
例如:假定某客户机想获知域名为y.abc.com主机的IP地址,域名解析的过程(共使用了8个UDP报文)如下:
1、客户机向其本地域名服务器发出DNS请求报文(递归查询)
2、本地域名服务器收到请求后,查询本地缓存,若没有该记录,则以DNS客户的身份向根域名服务器发出解析请求报文(迭代查询)
3、根域名服务器收到请求后,判断该域名属于.com域,将对应的顶级域名服务器dns.com的IP地址返回给本地域名服务器
4、本地域名服务器向顶级域名服务器dns.com发出解析请求报文(迭代查询)
5、顶级域名服务器dns.com收到请求后,判断该域名属于abc.com域,因此将对应的授权域名服务器dns.abc.com的IP地址返回给本地域名服务器
6、本地域名服务器向授权域名服务器dns.abc.com发起解析请求报文(迭代查询)
7、授权域名服务器dns.abc.com收到请求后,将查询结果返回给本地域名服务器
8、本地域名服务器将查询结果保存到本地缓存,同时返回给客户机
为了**提高DNS的查询效率
,并减少因特网上的DNS查询报文数量
,在域名服务器中广泛地使用了高速缓存
**
当一个DNS服务器接收到DNS查询结果时,它能将该DNS信息缓存在高速缓存中
当另一个相同的域名查询到达该DNS服务器时,该服务器就能够直接提供所要求的IP地址,而不需要再去向其他DNS服务器询问
因为主机名和IP址之间的映射不是永久的,所以DNS服务器将在一段时间后丢弃高速缓存中的信息
文件传输协议(FTP)
FTP的工作原理
FTP**采用客户/服务器的工作方式
,使用TCP可靠的传输服务
**
一个FTP服务器进程**可同时为多个客户进程提供服务
**
用户通过一个客户机程序连接至在远程计算机上运行的服务器程序
依照FTP协议提供服务,进行文件传送的计算机就是**FTP服务器
**
连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是**FTP客户端
**
FTP的服务器进程由两大部分组成:
一个主进程:负贵接收新的请求
若干从属进程:负责处理单个请求
FTP的功能
- 提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力
- 以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力
- 以**
匿名FTP的方式
**提供公用文件共享的能力
FTP服务器工作步骤
- 打开熟知**
端口21
**(控制端口),使客户进程能够连接上 - 等待客户进程发连接请求
- 启动从属进程来处理客户进程发来的请求。
主进程与从属进程并发执行
,从属进程对客户进程的请求处理完毕后即终止 - 回到等待状态,继续接收其他客户进程的请求
FTP服务器必须**在整个会话期间保留用户的状态信息
**
特别是服务器必须把指定的用户账户与控制连接联系起来,服务器必须追踪用户在远程目录树上的当前位置
控制连接与数据连接
FTP在工作时使用**两个并行的TCP连接
:一个是控制连接(服务器端口号21)
,一个是数据连接(服务器端口号20)
**
使用两个不同的端口号可以使协议更容易实现
1、控制连接
- 服务器监听**
21号端口
**,等待客户连接,建立在这个端口上的连接称为控制连接 - 控制连接**
用来传输控制信息
**(如连接请求、传送请求等),并且控制信息都以7位ASCII格式传送 - FTP客户发出的传送请求,通过控制连接发送给服务器端的控制进程,但**
控制连接并不用来传送文件
** - 在传输文件时还可以使用控制连接,因此**
控制连接在整个会话期间一直保持打开状态
**
2、数据连接
- 服务器端的控制进程在接收到FTP客户发来的文件传输请求后,就创建**
数据传送进程
和数据连接
** - 数据连接用来**
连接客户端和服务器端的数据传送进程
,数据传送进程实际完成文件的传送
,在传送完毕后关闭 “数据传送连接” 并结束运行
**
数据连接有两种传输模式:主动模式PORT和被动模式PASV
PORT模式
工作原理:客户端连接到服务器的21端口,登录成功后要读取数据时,客户端随机开放一个端口,并发送命令告知服务器
,服务器收到PORT命令和端口号后,通过20端口和客户端开放的端口连接,发送数据
PASV模式
的不同点是,客户端要读取数据时,发送PASV命令到服务器,服务器在本地随机开放一个端口,并告知客户端
,客户端再连接到服务器开放的端口进行数据传输
可见,是用PORT模式还是PASV模式,选择权在客户端
简单概括为:
- 主动模式传送数据是**
服务器
连接到客户端
**的端口 - 被动模式传送数据是**
客户端
连接到服务器
**的端口
因为FTP使用了一个分离的控制连接,所以也称**FTP的控制信息是带外传送的
**
FTP传输模式
文本模式:ASCII模式,以文本序列传输数据
二进制模式:Binary模式,以二进制序列传输数据
电子邮件
电子邮件系统的组成结构
电子邮件是一种**异步通信方式
**
一个电子邮件系统应具有三个最主要的组成构件:用户代理
、邮件服务器
和电子邮件使用的协议
,如SMTP、POP3(或IMAP)等
- 用户代理(UA):
用户与电子邮件系统的接口
用户代理向用户提供一个很友好的接口来发送和接收邮件,用户代理至少应当具有撰写、显示和邮件处理的功能 - 邮件服务器:它的功能是**
发送和接收邮件
,同时还要向发信人报告邮件传送的情况
(已交付、被拒绝、丢失等)
邮件服务器采用客户/服务器方式
工作,但它必须能够同时充当客户和服务器
** - 邮件发送协议和读取协议:
1、**邮件发送协议
用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件,如SMTP。SMTP用的是“推”(Push)的通信方式,即用户代理向邮件服务器发送邮件及在邮件服务器之间发送邮件时,SMTP客户将邮件“推”送到SMTP服务器
2、邮件读取协议
**用于用户代理从邮件服务器读取邮件,如POP3。POP3用的是“拉”(Pull)的通信方式,即用户读取邮件时,用户代理向邮件服务器发出请求,“拉”取用户邮箱中的邮件
电子邮件的发送、接收过程
电子邮件的收发过程:
- 发信人调用用户代理来撰写和编辑要发送的邮件。用户代理用SMTP把邮件传送给发送端邮件服务器
- 发送端邮件服务器将邮件放入邮件缓存队列中,等待发送
- 运行在发送端邮件服务器的SMTP客户进程,发现邮件缓存中有待发送的邮件,就向运行在接收端邮件服务器的SMTP服务器进程发起建立TCP连接
- TCP连接建立后,SMTP客户进程开始向远程SMTP服务器进程发送邮件。当所有待发送邮件发完后,SMTP就关闭所建立的TCP连接
- 运行在接收端邮件服务器中的SMTP服务器进程收到邮件后,将邮件放入收信人的用户邮箱,等待收信人在方便时进行读取
- 收信人打算收信时,调用用户代理,使用POP3(或IMAP)协议将自己的邮件从接收端邮件服务器的用户邮箱中取回(如果邮箱中有来信的话)
电子邮件格式与MIME
电子邮件格式
电子邮件分为**信封和内容
两大部分,邮件内容又分为首部和主体
**两部分
邮件内容的首部包含一些首部行,每个首部行由一个关键字后跟冒号再后跟值组成。有些关键字是必需的,有些则是可选的。最重要的关键字是To和Subject
- To是必需的关键字,后面填入一个或多个收件人的电子邮件地址
电子邮件地址的规定格式为:收件人邮箱名@邮箱所在主机的域名
- Subject是可选关键字,是邮件的主题,反映了邮件的主要内容
- From是必填关键字,但它通常由邮件系统自动填入
- 首部与主体之间用一个空行进行分割
典型的邮件内容如下
多用途网际邮件扩充(MIME)
MIME增加了邮件主体的结构,并定义了传送非ASCII码的编码规则
MIIME邮件可在现有的电子邮件程序和协议下传送
使电子邮件系统可以支持声音、图像、视频、多种国家语言等,使传输内容丰富多样
MIME主要包括以下三部分内容:
- 5个新的邮件首部字段,包括MIME版本、内容描述、内容标识、传送编码和内容类型
- 定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化
- 定义了传送编码,可对任何内容格式进行转换;而不会被邮件系统改变
SMTP和POP3
SMTP
SMTP规定了在两个相互通信的**SMTP进程
之间应如何交换信息
负责发送邮件的SMTP进程就是SMTP客户
;负责接收邮件的进程就是SMTP服务器
**
SMTP规定了14条命令和21中应答信息
由于SMTP使用**客户/服务器方式
,使用TCP连接
,端口号为25
**
简单邮件传输协议(SMTP)
是提供可靠且有效的电子邮件传输的协议
,控制两个相互通信的SMTP进程交换信息
SMTP通信有以下三个阶段:
1、连接建立
- 发件人的邮件发送到发送方邮件服务器的邮件缓存中后,SMTP客户就每隔一定时间对邮件缓存扫描一次
- 如发现有邮件,就使用SMTP的熟知端口号(25)与接收方邮件服务器的SMTP服务器建立TCP连接
- 连接建立后,接收方SMTP服务器发出
220 Service ready
(服务就绪) - 然后SMTP客户向SMTP服务器发送
HELLO命令
,附上发送方的主机名 - SMTP服务器若有能力接收邮件,则回答
250 OK
;否则回答421 Service not available
(服务不可用)
SMTP不使用中间的邮件服务器
TCP连接总是在发送方和接收方这两个邮件服务器之间直接建立,而不管它们相隔多远,不管在传送过程中要经过多少个路由器
当接收方邮件服务器因故障暂时不能建立连接时,发送方的邮件服务器只能等待一段时间后再次尝试连接
2、邮件传送
- 连接建立后,就可开始传送邮件
- 邮件的传送从
MAIL命令
开始,MAIL命令后面有发件人的地址 - 若SMTP服务器已准备好接收邮件,则回答
250OK
- 接着SMTP客户端发送一个或多个
RCPT(收件人)命令
,格式为RCPTTO:<收件人地址>
每发送一个RCPT命令,都应有相应的信息从SMTP服务器返回,如250 OK
或550 No such user here
(无此用户)
RCPT命令的作用:先弄消接收方系统是否已做好接收邮件的准备,然后才发送邮件,以便不至于发送了很长的邮件后才知道地址错误,进而**避免浪费通信资源
** - 获得OK的回答后,客户端就使用
DATA命令
,表示要开始传输邮件的内容
正常情况下,SMTP服务器回复的信息是354 Start mail input; end with<CRLF>.<CRLF>
<CRLF>
表示回⻋换行
此时SMTP客户端就可开始传送邮件内容,并用<CRLF>.<CRLF>
表示邮件内容的结束
3、连接释放
- 邮件发送完毕后,SMTP客户应发送
QUIT命令
- SMTP服务器返回的信息是
221
(服务关闭),表示SMTP同意释放TCP连接
SMTP的缺点
1、SMTP不能传送可执行文件或者其他二进制对象
2、SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字
3、SMTP服务器会拒绝超过一定长度的邮件
POP3和IMAP
邮局协议(POP):是一个非常简单但功能有限的邮件读取协议
POP3采用的是“拉”(Pull)的通信方式,当用户读取邮件时,用户代理向邮件服务器发出请求,“拉”取用户邮箱中的邮件
POP也使用**客户/服务器的工作方式
,在传输层使用TCP
,端口号为110
**
POP3的工作方式
- 下载并保留(在服务器)
- 下载并删除
因特网报文存取协议(IMAP):当用户PC上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上
IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,再下载附件)
IMAP服务器维护了会话用户的状态信息
IMAP的另一特性是允许用户代理只获取报文的某些部分,非常**适用于低带宽的情况
**
基于万维网的电子邮件
主要记住发送邮件与读取邮件使用的时HTTP协议而不止POP3协议,传输邮件的过程依旧是使用SMTP协议
万维网(WWW)
WWW的概述
万维网WWW是一个大规模的、联机式的信息储藏所/资料空间
,是无数个网络站带你和网页的集合
在这个空间中一样有用的事物称为一样**资源
,并由一个全域统一资源定位符(URL)
标识
这些资源通过超文本传输协议(HTTP)传送给使用者
,而后者通过单击链接来获取资源
**
URL一般形式:<协议>://<主机>:<端口>/<路径>
,如:http://www.baidu.com:80/index.php
协议一般有http、ftp
;主机一般就是指域名或者IP地址
万维网使用**超文本标记语言HTML
**,使得万维网网页界面设计者可以很方便地从一个界面的连接转到另一个界面,并能够再自己的屏幕上显示出来
超文本传输协议HTTP
HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎么把文档传送给浏览器
HTTP协议的特点
- HTTP**
使用TCP作为传输层协议,保证了数据的可靠传输
,不必考虑数据在传输过程中被丢弃后又怎样被重传
HTTP本身是无连接
**的,即虽然HTTP使用了TCP连接,但通信的双方在交换HTTP报文之前不需要先建立HTTP连接 - HTTP是**
无状态
的。也就是说,同一个客户第二次访问同一个服务器上的⻚面时,服务器的响应与第一次被访问时的相同
但实际应用中,一些万维网站点希望能够识别用户,因此采用了Cookie
**
Cookie是存储在用户主机中的文本文件,记录一段时间内某用户(使用识别码识别)的访问记录
Cookie的使用可以提供个性化服务
Cookie的工作原理
当用户浏览某个使用Cookie的网站时,该网站服务器就为用户产生一个唯一的识别码,如“123456”
接着在给用户的响应报文中添加一个Set-cookie的首部行“Setcookie:123456”
用户收到响应后,就在它管理的特定Cookie文件中添加这个服务器的主机名和Cookie识别码
当用户继续浏览这个网站时,会取出这个网站的识别码,并放入请求报文的Cookie首部行“Cookie:123456”
服务器根据请求报文中的Cookie识别码就能从数据库中查询到该用户的活动记录,进而执行一些个性化的工作
HTTP的连接方式
HTTP既可以使用**非持久连接
,也可以使用持久连接
**(HTTP/1.1支持)
1、非持久连接
每个网⻚元素对象(如JPEG图形、Flash等)的传输都需要单独建立一个TCP连接
请求一个万维网文档所需的时间是该**文档的传输时间
加上两倍往返时间RTT
**
文档的传输时间:与文档大小成正比
两倍往返时间RTT:一个RTT用于**TCP连接
,另一个RTT用于请求和接收文档
**
每个对象引用都导致2RTT的开销,此外每次建立新的TCP连接都要分配缓存和变量,使万维网服务器的负担很重
2、持久连接
万维网服务器**在发送响应后仍然保持这条连接
**
使同一个客户(浏览器)和该服务器**可以继续在这条连接上传送后续的HTTP请求和响应报文
**
-
非流水线
客户在收到前一个响应后才能发出下一个请求
服务器发送完一个对象后,其TCP连接就处于空闲状态,浪费了服务器资源 -
流水线
客户每遇到一个对象引用就立即发出一个请求,因而客户可以逐个地连续发出对各个引用对象的请求
如果所有的请求和响应都是连续发送的,那么所有引用的对象共计经历1个RTT延迟,而不是像非流水线方式那样,每个引用都必须有1个RTT延迟
减少了TCP连接中的空闲时间,提高了效率
HTTP的报文结构
HTTP是**面向文本的
**,因此报文中的每个字段都是一些ASCII码串,并且每个字段的⻓度都是不确定的
有两类HTTP报文:
- 请求报文:
从客户向服务器发送的请求报文
- 响应报文:
从服务器到客户的回答
HTTP请求报文和响应报文都由三个部分组成
而这两种报文格式的区别就是开始行不同
开始行:用于区分是请求报文还是响应报文
在**请求报文
中的开始行称为请求行
,而在响应报文
中的开始行称为状态行
**
开始行的三个字段之间都以空格分隔,最后的**CR
和LF
分别代表回⻋
和换行
**
请求报文的请求行有三个内容:方法
、请求资源的URL
及HTTP的方法(操作)意义版本
方法是对所请求对象进行的操作,这些方法实际上也就是一些命令
首部行:用来说明浏览器、服务器或报文主体的一些信息
首部可以有几行,但也可以不使用
在每个首部行中都有首部字段名和它的值,每一行在结束的地方都要有“回⻋”和“换行”
整个首部行结束时,还有一空行将首部行和后面的实体主体分开
实体主体:在请求报文中一般不用这个字段,而在响应报文中也可能没有这个字段
响应报文的状态码
1xx:表示通知信息的,如请求收到了或正在处理
2xx:表示成功,如接受或知道了
3xx:表示重定向,如要完成请求还必须采取进一步的行动
4xx:表示客户的差错,如请求中有错误的语法或不能完成
5xx:表示服务器的差错,如服务器失效无法完成请求
疑难点
如何理解客户进程端口号与服务器进程端口号?
通常我们所说的熟知端口号是指应用层协议在服务器端的默认端口号
而客户端进程的端口号是由客户端进程任意指定的(临时的)
当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口号,同时还要告诉服务器进程自己的临时端口号
接着,服务器进程就用自己的熟知端口号与客户进程所提供的端口号建立连接
互联网、因特网和万维网的区别是什么?
互联网(internet)泛指由多个计算机网络按照一定的通信协议相互连接而成的一个大型计算机网络
因特网(Internet)是指在ARPA网基础上发展而来的世界上最大的全球性互连网络
因特网和其他类似的由计算机相互连接而成的大型网络系统,都可算是“互联网”,因特网只是互联网中最大的一个
万维网是无数个网络站点和网⻚的集合,它们一起构成了因特网最主要的部分
(因特网也包括电子邮件、Usenet和新闻组)
域名的高速缓存是什么?
每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录
可大大减轻根域名服务器的负荷,使因特网上的DNS查询请求和回答报文的数量大为减少
为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器,并处理超过合理时间的项(如每个项目只存放两天)
当权限域名服务器回答一个查询诸求时,在响应中都指明绑定有效存在的时间值
增加此时间值可减少网络开销,减少此时间值可以提高域名转换的准确性