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

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

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

情况一(图1):

img

情况一(修改代码后):

import requests

url = 'https://www.zhihu.com/'
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36'
}
response = requests.get(url,headers=headers)
print(response.text)

提问:图2中第4-6行代码:
headers={………}
是否指:服务器接收请求后处理并返回的一个HTTP响应对象响应头呢?

情况二(写不到了之后重新提问,谢谢大家!)

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/746588
  • 除此之外, 这篇博客: 【计算机网络】面试题常客:浏览器中从输入网址到显示页面的全过程中的 4 服务器处理请求,并返回HTTP报文 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 一般由web服务器处理请求,如TomcatNetty等,将HTTP协议解析,封装成HTTP Request对象,供后端使用。
    HTTP响应报文是由三部分组成: 状态行, 响应头响应正文

    • 状态行:包括状态码、状态码说明、协议版本
    • 响应头部:由key-value对组成,常见如Server,Connection等
    • 响应正文:服务器返回给浏览器的文本信息,通常HTML, CSS, JS, 图片等文件就放在这一部分。