http的事务、三次握手和四次挥手

223 阅读2分钟

http 事务

从浏览器传给服务器,服务器返回内容给浏览器,这一个完整的过程就叫做http的一个事务。

一、http请求阶段:

  1. 浏览器把url发送给DNS服务器;
  2. DNS服务器会根据IP找到对应的服务器;
  3. 服务器接收到请求,客户端和服务器已经产生了连接;

二、http响应阶段:

  1. 服务器接收到请求后,根据路径,找到对应的项目;
  2. 务器找到之后,服务器立即把一些响应信息放在响应头中,通过http发送给客户端,同时进行数据整理;
  3. 把整理出来的数据,通过http发送给客户端,直到客户端接收完毕;

三、浏览器渲染阶段:

  1. 浏览器拿到从服务器传输过来的数据文件;
  2. 先遍历html,形成dom树;
  3. 代码从上到下解析,形成css树;
  4. dom树与css树重新组成render树;
  5. 浏览器进行描绘和渲染;

http 的三次握手和四次挥手

浏览器在给服务器传输数据之前,有三次握手,握手成功之后,才可以传输数据.

三次握手

  1. 浏览器需要先发送SYN码,客户端请求和服务器建立连接;
  2. 服务器接收到SYN码,再发送给客户端SYN+ACK码,我可以建立连接;
  3. 客户端收到ACK码,验证这个ACK是否正确,如果正确则客户端和服务端则建立起数据连接,双方的数据发送通道都将开启;

四次挥手

  1. 当客户端无数据要传输了,会发送FIN码告诉服务器,我发送完毕了;
  2. 当服务端接收完毕后,告诉客户端ACK码,告诉客户端你可以把数据通道关闭了;
  3. 当服务器发送完毕之后,也会发送FIN码,告诉浏览器,数据发送完毕;
  4. 当客户端接收完毕之后,同样发送ACK码,告诉服务器,数据接收完毕,你可以关闭;

三次握手和四次挥手的好处:确保数据的安全和完整。