2.请教大家关于这句话的理解:用户使用request模块在浏览器中访问一个网站时,浏览器会向服务器发送一个HTTP请求,服务器接收请求后处理并返回一个HTTP响应对象(其包含状态码,响应头…)

用户使用request模块在浏览器中访问一个网站时,浏览器会向服务器发送一个HTTP请求,服务器接收请求后处理并返回一个HTTP响应对象(其包含状态码,响应头…)

如上所述!这个服务器接收请求后处理并返回一个HTTP响应对象如响应头,是指以下几种情况中的哪一种呢?还是说都属于上述同一种类型呢?

情况二(如图):

img

提问:请问大家!上图中所有含headers的代码行是否就是指:服务器接收请求后处理并返回的一个HTTP响应对象——响应头呢?

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/746588
  • 你也可以参考下这篇文章:通信协议——详细了解HTTP协议、请求方法、请求格式、响应格式、状态码
  • 除此之外, 这篇博客: 字节后端面经(计算机网络部分)中的 HTTP请求响应的过程,HTTP请求包含的部分,HTTP请求头包含哪些部分 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • HTTP请求响应的过程

    1. DNS解析输入框中的域名
    2. 发起三次握手建立TCP连接
    3. 建立起TCP连接后,发起HTTP请求
    4. 服务器端接受请求并解析,处理请求后响应给客户端
    5. 客户端解析响应页面请求并进行页面渲染

    HTTP请求包含的部分: 请求行,请求头,请求体
    请求行:请求方法字段+URL字段+HTTP协议版本(e.g. GET /index.html HTTP/1.1)
    请求头:key value形式,(User-Agent:产生请求的浏览器类型,Accept:客户端可识别的内容类型列表,Host:主机地址)
    请求数据: POST方法中,会把数据以key value形式发送请求
    (HTTP响应报文:状态行,消息报头,响应正文)