zoukankan      html  css  js  c++  java
  • 2019.9.17 用户访问网站过程

    1,用户输入URL(统一资源定位符)如用户在浏览器输入http://www.joes-hardware.com:80/tools.html
    如果浏览器有记录,那DNS解析结束
    2,接下来主机会查找本地的/etc/hosts的文件,如果hosts有,解析结束。
    3,如果还没有命中,那主机会去找本地的缓存服务器,一般这个服务器,离我们所在的城市不会
    很远,一般80%的访问都会在这里结束。
    4,如果本地缓存服务器也没有,那本地缓存服务器会去找“.”根域。
    5,根域不知道www.joes-hardware.com,它会让缓存服务器去找".com"顶级域
    6,然后顶级域会让缓存服务器去找二级域"joes-hardware.com"
    7,去找二级域后,二级域会让缓存服务器去找www.joes-hardware.com
    8,缓存服务器去找www.joes-hardware.com域名,最后得到ip地址
    --------------------------------------------------------------------------
    10,客户端去连接服务器需要经过3次握手,客户机发送SYN=1(请求同步指针),seq=x的(序列号)这是第一次握手,
    第二次握手是服务器给客户机发送SYN=1,ACK=1确认你要跟我请求建立连接,同时发送自己的seq=y的(序列号)和ack=x+1
    第三次握手是客户机给服务器发送确认你确认跟我建立连接,同时发送ACK=1(确认指针) seq=x+1 ack=y+1,之后客户机和服务器就可以进行数据传输。

    11,然后客户机发送一条THHPGET请求发送HTTP头部信息,头部信息包含一些设置比如keep-alive长连接
    网页是否压缩等信息,也可能需要服务器的一下验证消息,包括是否允许客户端登录。

    12,服务器读取HTTP并且响应给客户端,信息包括web服务器名称,网页名称及其版本信息,
    和服务器把用户想要的浏览器的网页允许客户端下载给本地。

    13,然后客户端通过浏览器对服务器的网页进行翻译为精美的html页面。

    14,如果客户端想要关闭需要经过tcp的四次握手。
    -------------------------------------------------------------------------------------------
    15,TCP的四次断开,第一次客户机发送FIN=1(终止指针)和seq=u(序列号)给服务器请求断开连接
    第二次是服务器发送ACK=1(确认指针),seq=v(序列号),ack=u+1此时客户机为
    终止等待1状态,第三次是服务器给客户机发送FIN=1(终止指针),ACK=1(确认指针)
    seq=w,ack=u+1此时服务器状态为关闭等待状态,客户机为终止等待2状态。
    第四次是客户机发送ACK=1(确认指针)seq=u+1 ack=w+1此时客户机状态为2倍的最大生命周期等待时间。
    服务器总是比服务器早一些断开连接。

  • 相关阅读:
    2020春Python程序设计_练习1
    热词分析——性能战术
    《淘宝网》质量属性
    架构师应该如何工作?
    寒假学习(十四)
    寒假学习(十三)
    灭霸冲刺(3)
    灭霸冲刺(2)
    灭霸冲刺(1)
    灭霸计划会议
  • 原文地址:https://www.cnblogs.com/otherwise/p/11543253.html
Copyright © 2011-2022 走看看