2019.9.17 用户访问网站过程

1,用户输入URL(统一资源定位符)如用户在浏览器输入http://www.joes-hardware.com:80/tools.html
如果浏览器有记录,那DNS解析结束
2,接下来主机会查找本地的/etc/hosts的文件,如果hosts有,解析结束。
3,如果还没有命中,那主机会去找本地的缓存服务器,一般这个服务器,离我们所在的城市不会
很远,一般80%的访问都会在这里结束。
4,如果本地缓存服务器也没有,那本地缓存服务器会去找“.”根域。
5,根域不知道www.joes-hardware.com,它会让缓存服务器去找".com"顶级域
6,然后顶级域会让缓存服务器去找二级域"joes-hardware.com"
7,去找二级域后,二级域会让缓存服务器去找www.joes-hardware.com
8,缓存服务器去找www.joes-hardware.com域名,最后得到ip地址
--------------------------------------------------------------------------
10,客户端去连接服务器需要经过3次握手,客户机发送SYN=1(请求同步指针),seq=x的(序列号)这是第一次握手,
第二次握手是服务器给客户机发送SYN=1,ACK=1确认你要跟我请求建立连接,同时发送自己的seq=y的(序列号)和ack=x+1
第三次握手是客户机给服务器发送确认你确认跟我建立连接,同时发送ACK=1(确认指针) seq=x+1 ack=y+1,之后客户机和服务器就可以进行数据传输。

11,然后客户机发送一条THHPGET请求发送HTTP头部信息,头部信息包含一些设置比如keep-alive长连接
网页是否压缩等信息,也可能需要服务器的一下验证消息,包括是否允许客户端登录。

12,服务器读取HTTP并且响应给客户端,信息包括web服务器名称,网页名称及其版本信息,
和服务器把用户想要的浏览器的网页允许客户端下载给本地。

13,然后客户端通过浏览器对服务器的网页进行翻译为精美的html页面。

14,如果客户端想要关闭需要经过tcp的四次握手。
-------------------------------------------------------------------------------------------
15,TCP的四次断开,第一次客户机发送FIN=1(终止指针)和seq=u(序列号)给服务器请求断开连接
第二次是服务器发送ACK=1(确认指针),seq=v(序列号),ack=u+1此时客户机为
终止等待1状态,第三次是服务器给客户机发送FIN=1(终止指针),ACK=1(确认指针)
seq=w,ack=u+1此时服务器状态为关闭等待状态,客户机为终止等待2状态。
第四次是客户机发送ACK=1(确认指针)seq=u+1 ack=w+1此时客户机状态为2倍的最大生命周期等待时间。
服务器总是比服务器早一些断开连接。

猜你喜欢

转载自www.cnblogs.com/otherwise/p/11543253.html