Python网络编程——HTTP响应报文

概述

HTTP报文分为请求报文和响应报文。


HTTP响应报文格式

响应行\r\n

响应头\r\n

空行\r\n

响应体\r\n


原始报文

---- 响应行(状态行) --------
HTTP/1.1 200 OK   #协议版本 状态码 状态描述
---- 响应头 ----------
Accept-Ranges: bytes    #表明服务器是否支持指定范围的请求,比如bytes,表明支持字节请求
Content-Encoding: gzip  #编码方式
Content-Length: 1966   #服务器发送给客户端程序的数据确定长度,内容长度这两个选项只能二选一
Content-Type: image/x-icon   #务器发送给浏览器的内容类型及编码格式
Date: Thu, 24 Feb 2022 06:58:07 GMT  #服务器的时间
Etag: "423e-5bd257db4e500"   #请求变量的实体标签的当前值
Last-Modified: Wed, 10 Mar 2021 02:33:24 GMT   #  请求资源的最后修改时间
Server: Apache   #服务器的名称
Vary: Accept-Encoding,User-Agent
----- 空行 ----
\r\n
----- 响应体 就是真正意义上给浏览器解析使用的数据----
网页数据


常见状态代码、状态描述

  • 200 OK:客户端请求成功。
  • 400 Bad Request:客户端请求有语法错误,不能被服务器所理解。
  • 401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用。
  • 403 Forbidden:服务器收到请求,但是拒绝提供服务。
  • 404 Not Found:请求资源不存在,举个例子:输入了错误的URL。
  • 500 Internal Server Error:服务器发生不可预期的错误。
  • 503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常,举个例子:HTTP/1.1 200 OK(CRLF)



状态码

说明

200

请求成功

307

重定向

400

错误的请求,请求地址或者参数有误

404

请求资源在服务器不存在

500

服务器内部源代码出现错误

上一篇:企业级监控解决方案随想


下一篇:[CF940F]Machine Learning