zoukankan      html  css  js  c++  java
  • 一个完整的HTTP请求过程

    域名解析 —> 与服务器建立连接(TCP协议的三次握手和四次挥手) —> 发起HTTP请求 —> 服务器响应HTTP请求,浏览器得到html代码 —> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片) —> 浏览器对页面进行渲染呈现给用户

    TCP连接的建立与释放(三次握手、四次挥手)三报文握手

    三次握手

    为什么客户机要再发一次确认?
    是因为建立TCP请求连接报文可能会在发送途中失效(由于网络中的某种原因导致这条报文发生了阻塞,滞留就停留在了网络中),但是TCP连接整个过程中有一个超时重传的机制,建立连接。当滞阻塞、滞留的报文没有到达服务器B端,此时,客户机就收不到服务器的确认报文,客户机就会知道这条报文没有发送出去,就会再次发送同样的一个建立TCP连接的请求,然后建立连接,用完连接,再销毁连接。这时,之前滞留的连接突然生效了,到达服务器,服务器发送确认报文,但是此时这条连接不需要建立,客户机就不会处理,不会在发一次确认,就不会建立连接了,
    四次挥手

    为什么要等待2MSL(最长报文段寿命)时间?
    客户机最后发送的确认服务器可能没有收到,此时,服务器就会认为自己发送的关闭数据报是没有发出去,所以客户端才没有收到发送一个确认过来,这时,服务器端就会再次发送一个关闭数据报,所以需要等待。

  • 相关阅读:
    CSS3 flexbox弹性布局实例
    移动端自适应:flexible.js可伸缩布局使用
    玩转HTML5移动页面(转自http://tqtan.com/)
    CSS3那些不为人知的高级属性
    android开发问题记录1——Android SDK Manager无法更新Packages
    Javascirpt详解之函数function
    SPFA 最短路
    Sonya and Robots
    三角形问题
    平方和与立方和 七夕节
  • 原文地址:https://www.cnblogs.com/songsongblue/p/12485792.html
Copyright © 2011-2022 走看看