zoukankan      html  css  js  c++  java
  • HTTP通信传输过程详解。

    点击一个URL以后,到最终页面返回,中间都会发生什么过程。

    一、点击URL:new.qq.com

    二、首先 DNS 解析

          linux 可以用dig 域名查看ip地址服务器

          1、一个域名可能回对应多个IP地址

      2、一个IP地址也可能对应多个域名

    三、客户端与服务器建立TCP连接

      1、client-->SYN----->server

      2、client<-ACK + SYN <- server

      3、client -> ACK----->server

    四、客户端封装『请求报文』为     二进制encode后信息

    五、发送『请求报文』

    六、HTTP Server 接受 『请求报文』

    七、WSGI数据解析,将『请求报文』封装城HtttpRequest对象:WSGI Web Server Gateway Interface 服务器网关接口

               process_request

    八、Django url映射 - 对应func

        process_vies

    九、执行 view_func

      1 取出参数

      2 调用内部逻辑

      3 缓存、数据库处理

        process_template

      4 模板渲染

      5封装HttpResponse对象

        process_exception

        process_response

    十 WSGI 进行协议解析,将HttpResponse对象封装成『响应报文』

    十一 HTTP Server将『响应报文』发送给客户端

    十二 HTTP Server 关闭 TCP连接

        四次挥手

      1 client <- FIN <- server

      2 client ->ACK->server

      (等待数据接受完成)

      3 client ->FIN ->server

      4 client <-ACK<-server

    十三 客户端接受『响应报文』

    十四 解析、渲染、显示

    HTTP:建立在TCP协议之上的短连接协议。

    TCP协议是一个全双工协议

    全双工/半双工(形象比喻,一个双轨可以来回发送信息,一个单轨,一个发了,一个等待,一个轨道只能一个信号发送)

  • 相关阅读:
    风险分解结构
    WBS 工作分解结构
    react函数式组件(非路由组件)实现路由跳转
    react使用antd组件递归实现左侧菜单导航树
    React4.0以上如何获取当前的路由地址呢
    浅谈react传入路由参数---withRouter组件
    react项目实现维持登录与自动登录
    async和await应用步骤分析+优化异常处理
    跨域场景&&跨域处理方案
    vscode react中标签自动补全 vscode jsx语法自动补全html标签
  • 原文地址:https://www.cnblogs.com/sidianok/p/11565613.html
Copyright © 2011-2022 走看看