Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 56.2MB ·虚拟内存 1300.8MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
http或超文本传输协议适用于客户端服务器模型。通常,Web浏览器是客户端,托管网站的计算机是服务器。在收到客户端的请求后,服务器会生成响应并将其以某种格式发送回客户端。
在接收并解释了请求消息后,服务器将以HTTP响应消息进行响应:
以下各节说明了HTTP响应消息中使用的每个实体。
状态行由协议版本,后面的数字状态代码及其关联的文本短语组成。元素由空格SP字符分隔。
# Filename : example.py# Copyright : 2020 By Aizws# Author by : www.aizws.net# Date : 2020-08-25Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
支持HTTP版本1.1的服务器将返回以下版本信息:
# Filename : example.py# Copyright : 2020 By Aizws# Author by : www.aizws.net# Date : 2020-08-25HTTP-Version = HTTP/1.1
Status-Code元素是一个三位数的整数,其中Status-Code的第一位定义响应的类别,最后两位不具有任何分类作用。第一位数字有5个值:
编号 | 状态码 | 描述 |
1 | 1xx | 信息性:表示已收到请求,并且该过程正在继续。 |
2 | 2xx | 成功:表示已成功接收,理解并接受了该动作。 |
3 | 3xx | 重定向:表示必须采取进一步的措施才能完成请求。 |
4 | 4xx | 客户端错误:请求包含不正确的语法或无法实现。 |
5 | 5xx | 服务器端错误:服务器无法满足有效的请求。 |
HTTP状态代码是可扩展的,不需要HTTP应用程序来了解所有已注册状态代码的含义。
在下面的python程序中,使用urllib3模块发出http GET请求并接收包含数据的响应。它还提供了响应代码,该响应代码也由模块中的功能管理。PoolManager对象处理连接池的所有详细信息,还处理线程安全性。
# Filename : example.py# Copyright : 2020 By Aizws# Author by : www.aizws.net# Date : 2020-08-25import urllib3 http = urllib3.PoolManager() resp = http.request('GET', 'http://aizws.net/robots.txt') print resp.data # get the status of the response print resp.status
当我们运行上面的程序时,得到类似以下输出 :
# Filename : example.py# Copyright : 2020 By Aizws# Author by : www.aizws.net# Date : 2020-08-25User-agent: * Disallow: /tmp Disallow: /logs Disallow: /rate/* Disallow: /cgi-bin/* Disallow: /video/video_course_view.php?* Disallow: /video/course_view.php?* Disallow: /videos/* Disallow: /*/*_question_bank/* Disallow: //*/*/*/*/src/* 200
客户端和服务器之间的请求和响应涉及消息中的标头和正文。标头包含特定于协议的信息,这些信息出现在通过TCP连接发送的原始消息的开头。消息的正文与标头使用空白行分隔。标头字段http响应中的标头可以分为以下类型。以下 ...