zoukankan      html  css  js  c++  java
  • http协议与他的三次握手和四次挥手

    http:超文本传输协议,在客户端与服务端之间传输信息,客户端发送html,css给服务器,服务器返回源码给客户端;

    https:是一种更安全的传输协议,在协议上加了一层密码,不容易被黑客攻击,更加安全。多用于支付页面,政府机构页面,公安局页面,银行……;

    当在浏览器输入url,向服务器发送请求,浏览器都做了些什么?

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

    1、http请求阶段:

    1)浏览器把url发送给DNS服务器;

    2)DNS服务器会根据IP找到对应的服务器;

    3)服务器接收到请求,客户端和服务器已经产生了连接;

    2、http响应阶段:

    4)服务器接收到请求后,根据路径,找到相应的项目;

    5)服务器找到之后,服务器立即把一些响应信息放在响应头中,通过http发送给客户端,同时进行数据整理;

    6)把整理出来的数据,通过http发送给客户端,直到客户端接收完毕;

    3、浏览器渲染阶段:

    7)浏览器拿到从服务器传输过来的数据文件;

    8)先遍历HTML,形成DOM树;

    9)代码从上到下解析,形成CSS树;

    10)DOM树和CSS树重新组成render树;

    11)浏览器进行描绘和渲染;

    http的三次握手和四次挥手:

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

    1、浏览器需要先发送SYN码,客户端请求和服务器建立连接;

    2、服务器接收到SYN码,再发送给客户端SYN+ACK码,我可以建立连接;

    3、客户端接收到ACK码,验证这个ACK是否正确,如果正确则客户端和服务端则建立起数据连接;双方的数据发送通道都将开启;

    四次挥手:

    1、当客户端无数据要传输了,会发送FIN码告诉服务器,我发送完毕了;

    2、当服务端接收完毕后,告诉客户端ACK码,告诉客户端你可以把数据通道关闭了;

    3、当服务器发送完毕之后,也会发送FIN码,告诉浏览器,数据发送完毕;

    4、当客户端接收完毕 之后,同样发送ACK码,告诉服务器,数据接收完毕,你可以关闭;

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

    响应头:服务器会告诉浏览器数据的长度,浏览器数据长度和响应头数据长度相同,说明数据已经接收完毕了。

  • 相关阅读:
    反转链表 16
    CodeForces 701A Cards
    hdu 1087 Super Jumping! Jumping! Jumping!(动态规划)
    hdu 1241 Oil Deposits(水一发,自我的DFS)
    CodeForces 703B(容斥定理)
    poj 1067 取石子游戏(威佐夫博奕(Wythoff Game))
    ACM 马拦过河卒(动态规划)
    hdu 1005 Number Sequence
    51nod 1170 1770 数数字(数学技巧)
    hdu 2160 母猪的故事(睡前随机水一发)(斐波那契数列)
  • 原文地址:https://www.cnblogs.com/xuemingyao/p/9496832.html
Copyright © 2011-2022 走看看