image.png

一次完整的http请求

image.png
image.png

浏览器如何对页面进行渲染

image.png

渲染过程图解

image.png

DNS

什么是DNS

一个存放大量域名对应ip地址的域名服务器

修改DNS服务器地址

image.png
image.png

DNS怎么找到域名的?

image.png
image.png
hosts文件修改后 对应域名会指向对应ip地址,不带端口默认80
image.png

tcp and udp

tcp传输步骤:三次握手->传输确认->四次挥手
image.png

为什么HTTP协议要基于TCP来实现?

image.png

tcp传输步骤1:三次握手

A:是B吗?我要跟你通信,听得到我说话吗?
B:可以通信,你听得到我说话吗?
A:我也听得到。
其实二次握手就可以建立链接,三次握手是为了防止丢包的链接被服务端等待(syn~ack~ack)
image.png

image.png
tcp传输步骤2:数据传输状态

image.png

tcp传输步骤3:四次挥手

A:呼叫B,我要跟你断开。
B:知道了,等一下我还有话没说完
B:我说完了,可以断开了
A:好的

  1. 第一次挥手:客户端发送fin包(表示要关闭链接)客户端进入终止等待1状态->
  2. 第二次挥手:服务端发送ack包进入等待关闭状态,客户端进入终止等待2状态->此时客户端能发数据服务器能收,待发送完数据后。
  3. 第三次挥手:服务端发送fin包进入最后确认状态
  4. 第四次挥手:客户端回复ack包进入,进入超市等待状态,等待时间过后关闭连接。而服务端接收到ack包后立刻关闭连接

四次挥手是因为服务端有未发送完的数据。所以需要服务端连续发两次。同时客户端最后的等待也是为了确保服务端收到ASK请求fin~ack~fin~ack
如果过了等待时间则认为服务端已经关闭(没有关闭的话会有ack)

image.png