• HTTP请求/响应的步骤


    浏览器中输入URL(网址)后,执行的全部过程:

    域名解析:客户端浏览器通过DNS服务器将网址解析成IP地址;

      浏览器搜索自身的DNS缓存,若没有找到则依次去下一个中进行搜索,搜索顺序为:浏览器的DNS缓存;系统的DNS缓存;hosts文件;域名服务器;

    客户端和服务端建立TCP连接:通过IP地址和端口号(客户端随机选择一个端口,服务端采用80端口(HTTP端口)监听客户端的请求),客户端和服务端建立TCP连接;

      三次握手:https://www.cnblogs.com/yongjin-hou/p/14357751.html

    客户端发送HTTP请求:通过TCP套接字,客户端向服务端发起HTTP请求(请求报文—由请求行、请求头、空行和请求数据组成);

      请求行:客户端的请求方式(GET/HEAD/POST),请求的资源名称URL和使用的HTTP协议的版本号;

      请求头:客户端请求哪台主机,以及客户端的一些信息;

      请求数据:当使用POST, PUT等方法时,通常需要客户端向服务器传递数据。

    服务端发送HTTP响应:通过TCP套接字将HTTP响应发送给客户端(响应报文—由响应行、响应头、空行和响应数据组成);

      响应行:状态码,服务器对HTTP请求的处理结果;

      响应头:服务器的基本信息,以及客户端如何处理数据;

      响应数据:服务器返回给客户端的数据。

    释放TCP连接:若Connection字段为close,服务端主动关闭TCP连接,客户端被动关闭TCP连接;若connection模式为keepalive,则连接会保持一段时间,该时间段内服务端还可以继续接收HTTP请求;

      四次挥手:https://www.cnblogs.com/yongjin-hou/p/14358587.html

    客户端解析HTML文件:客户端浏览器解析响应报文的状态行,查看请求是否成功的状态代码;解析响应头部,得到HTML文档的字节数和字符集;读取响应数据HTML代码,并请求HTML代码中的资源,浏览器对页面进行渲染后呈现给用户。

    相关链接 

    HTTP协议常见状态码和字段 https://www.cnblogs.com/yongjin-hou/p/14513713.html

    HTTPs和HTTP的区别&HTTPs如何建立连接 https://www.cnblogs.com/yongjin-hou/p/14513965.html

  • 相关阅读:
    拟阵学习笔记
    HNOI 2016 解题报告
    HNOI 2015 解题报告
    一类动态规划问题状态的简化
    组合数学学习笔记
    简单多项式学习笔记
    基础线代学习笔记
    后缀数据结构学习笔记
    图论学习笔记
    AT3673 [ARC085D] NRE 题解
  • 原文地址:https://www.cnblogs.com/yongjin-hou/p/14370315.html
Copyright © 2020-2023  润新知