Tcp/Ip分层管理模型
概念:
tcp/ip协议族按层次分别为:应用层、传输层、网络层、和数据链路层
发送端从应用层往下走,接受端则从下往上走。发送端在层与层之间传递信息时一定会加上该层的首部信息。反之,接收端在层与层传递数据时,每经过一层会把首部去掉。
浏览一个网页时,经过哪些步骤?
http协议:(作为浏览器和服务器之间的转化接口)
主要将浏览器请求的页面转换成服务器可以处理的格式,服务器找到资源后复制一份,并且发送给浏览器。http协议应用于应用层,保证了(客户端)浏览器和服务器的正常通讯。
解释:
1、通过dns获取需要访问域名的ip地址
2、生成服务器可以响应的报文格式
3、tcp协议作用:将请求的报文格式进行分片处理
4、ip协议作用:搜索服务器的ip地址,中转和发送
5、tcp协议作用:对请求报文片段进经重组
6、http协议作用:处理并同样回传信息
下面是一个典型的HTTP请求消息:
[html] view plain copy
GET /index.html HTTP/1.1
Host:www.shallnet.cn
Connection:close
User-agent:Mozilla/4.0
Accept-language:zh-cn
\r\n
第一行为请求行,由三个标记组成:请求方法、请求URI和HTTP版本,它们用空格分隔。
中间几行为请求头标 由“关键字:值”对组成,每行一对,关键字和值用冒号(:)分隔。请求头标通知服务器有关于客户端的功能和标识,典型的请求头标有:
User-Agent 客户端厂家和版本
Accept 客户端可识别的内容类型列表
Content-Length 附加到请求的数据字节数
最后一个请求头标之后是一个空行,发送回车符和退行,通知服务器以下不再有头标。
如果使用POST传送数据,最常使用的是Content-Type和Content-Length头标。
Web服务器解析请求,定位指定资源。服务器将资源副本写至套接字,在此处由客户端读取。一个响应由四个部分组成;状态行、响应头标、空行、响应数据。
下面是一个典型的HTTP响应消息:
[html] view plain copy
HTTP/1.1 200 0K
Connectlon:close
Date: Thu, 13 Oct 2005 03:17:33 GMT
Server: Apache/2.0.54 (Unix)
Last—Nodified:Mon,22 Jun 1998 09;23;24 GMT
Content—Length:682
Content—Type:text/html
第一行为状态行,由三个标记组成:HTTP版本、响应代码和响应描述。HTTP版本:向客户端指明其可理解的最高版本。响应代码:3位的数字代码,指出请求的成功或失败,如果失败则指出原因。响应描述:为响应代码的可读性解释。
中间几行为响应头标:像请求头标一样,它们指出服务器的功能,标识出响应数据的细节。
最后一个响应头标之后是一个空行,发送回车符和退行,表明服务器以下不再有头标。
最后为响应数据:HTML文档和图像等。
http协议的每一次请求和响应都是相对独立的,一般而言,一个URL对应着唯一的超文本,无论对谁,HTTP服务器都会根据接收到的URL请求返回相同的超文本,所以HTTP模型是无状态的,在处理一个请求时,Web服务器并不记住来自同一客户端的请求。