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码,告诉服务器,数据接收完毕,你可以关闭;

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

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

  • 相关阅读:
    Linux C语言错误处理
    [精彩] 关于LAN上有两个相同MAC地址的问题
    毕业一年 写给自己的警戒书
    原始套接字简单应用
    李彦宏建言创业者:准备失败 勇于创新 专注如一
    Java programming problem in linux box: Exception in thread "main" java.lang.NoClassDefFoundError
    Java新手必看之Hello World 攻略
    Android 开发简介
    libnet应用之arp包发送
    TCP/IP协议族之运输层(TCP流量控制和拥塞控制 [2])
  • 原文地址:https://www.cnblogs.com/xuemingyao/p/9496832.html
Copyright © 2011-2022 走看看