浏览器窗口输入网址后发生的一段事情(http完整请求)
1、DNS查询得到IP
输入的是域名,需要进行dns解析成IP,大致流程:
-
如果浏览器有缓存,直接使用浏览器缓存,否则使用本机缓存,再没有的话就是用host
-
如果本地没有,就向dns域名服务器查询(当然,中间可能还会经过路由,也有缓存等),查询到对应的IP
2、tcp/ip请求
http的本质就是 tcp/ip
请求。
需要了解3次握手规则建立连接以及断开连接时的四次挥手。
tcp将http长报文划分为短报文,通过三次握手与服务端建立连接,进行可靠传输。
3、三次握手的步骤(抽象派)
-
客户端:hello,你是server么?
-
服务端:hello,我是server,你是client么
-
客户端:yes,我是client
建立连接成功后,接下来就正式传输数据。
然后,待到断开连接时,需要进行四次挥手。
4、四次挥手的步骤(抽象派)
-
主动方:我已经关闭了向你那边的主动通道了,只能被动接收了
-
被动方:收到通道关闭的信息
-
被动方:那我也告诉你,我这边向你的主动通道也关闭了
-
主动方:最后收到数据,之后双方无法通信