发表于: 2017-06-17 22:51:53
1 920
今天完成的任务:
看了网站性能优化的方法,详细了解了网络传输的过程。
互联网协议分层,上层依靠下层的支持。
互联网协议可分为5层,从上到下依次为:
1,应用层,包括http,DNS
2,传输层,包括tcp
3,网络层,包括ip
4,链接层,包括以太网MAC
5,物理层
数据包分为包头和包体两部分。
我理解的网页传输过程:
1,在浏览器地址栏输入URL地址,客户端会查找本地hosts,查看URL中的域名对应的ip是否在其中。
2,没有在hosts中找到,则会访问最近的本地DNS服务器,若还是没找到ip地址,则继续向上一级DNS查找。
3,对应的DNS服务器查找到了ip地址,解析成功,将ip地址返回给客户端。
4,客户端http协议根据ip生成请求报文,发起HTTP请求,请求向下层传输,然后作为数据包传输到传输层。
5,tcp发起三次握手,tcp在握手时tcp数据包只包含包头信息。
6,三次握手后,http数据包作为数据包体嵌入到tcp数据包中。开始进行tcp传输。
7,tcp向下层传输,tcp数据包继续传输到网络层,作为数据包体嵌入到ip数据包中。ip协议通过ip搜索对方的地址,再向下传输。
8,再往下进行一层层封包,每层都会加一个包头,由于以太网数据包有固定的大小,故若之前的数据包超过大小后会被分成多个包,即http包会被分成多个。以太网会在局域网内进行地址查找。
9,找到了服务器的位置后,服务器再一层层解包。
10,解包到了传输层,tcp会根据分包的顺序对http请求报文重组。
11,再往上到了应用层,http请求报文被提取出来,http协议根据请求对所请求的文件进行处理,并生成响应报文,然后服务器准备返回http数据包。
12,http数据包向下层传输,期间被分包然后封包,返回到了客户端再从下层到上层以此解包,最终提取出我们需要的文件。
13,文件加载完成,一次http请求结束。
14,如果我们需要接着向服务器请求文件,会重复以上步骤,由于http1.1添加了保持连接keep-alive模式,因此我们不需要再进行tcp的3次握手了,此步略过。
明天计划的事情:
讲网站性能优化小课堂
学习数据结构
遇到的问题:
暂无
收获:
如上。
评论