zoukankan      html  css  js  c++  java
  • WEB服务器HTTP协议请求流程

    HTTP协议请求流程分析

    http://www.joes-hardware.com:80/tools.html

    第一步DNS解析步骤本机解析不开,寻找外部的缓存服务器发送域名解析请求(如图:)

     

    缓存服务器根据顺序,首先查找根域,根域返回下一级的查询位置给缓存服务器,然后缓存服务器查找下一级(顶级)域

    顶级域没有,返回给缓存服务器下一级位置,以此类推,最后找主机名。直到找该网站

    第二步:通过80端口,连接上服务器,进行三次握手如图:

     

    第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。

    第二次握手:服务器收到syn包,必须确认客户的SYNack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。

    第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHEDTCP连接成功)状态,完成三次握手。

    第三步:发送一条HTTP GET 请求,然乎等待回应

      中间传送需要的数据,

      最后从服务器读取HTTP 响应

    第四步:关闭连接(四次挥手过程)(如图:)

     

      1----TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送。

      2----服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。

    3----服务器关闭客户端的连接,发送一个FIN给客户端。

    4----客户端发回ACK报文确认,并将确认序号设置为收到序号加1

    结束(DAN

  • 相关阅读:
    nyoj-115-城市平乱(dijkstra算法)
    如何在大学里脱颖而出(其二)
    P6880-[JOI 2020 Final]オリンピックバス【最短路】
    P6847-[CEOI2019]Magic Tree【dp,线段树合并】
    P6800-[模板]Chirp Z-Transform【NTT】
    P5470-[NOI2019]序列【模拟费用流】
    P6563-[SBCOI2020]一直在你身旁【dp,单调队列】
    CF587F-Duff is Mad【AC自动机,根号分治】
    P7405-[JOI 2021 Final]雪玉【二分】
    互斥锁,IPC队列
  • 原文地址:https://www.cnblogs.com/123456likun/p/11491613.html
Copyright © 2011-2022 走看看