HTTP头部信息有哪些?

  • Post category:Python

HTTP头部信息(HTTP Header)用于传输HTTP请求和响应中的各种元数据。它通常由一个名称 和一个值组成,并被连成一行。HTTP头部可以分为通用头部、请求头部、响应头部和实体头部四个部分。

通用头部

通用头部是指用于请求和响应的通用信息和控制选项,具有通用性。通用头部可以出现在HTTP请求和HTTP响应中,它们并不与具体的请求或响应对应,而是对所有请求和响应都起作用。通用头部有以下几个字段:

  • Cache-Control: 用于控制缓存的行为,具体值有max-age(最长缓存时间)、no-cache(不使用缓存)、no-store(不缓存)等。
  • Connection: 用于控制是否保持连接以及长/短连接,常见属性有keep-alive和close。
  • Date: 用于指定报文创建时间。
  • Pragma: 用于向下兼容HTTP/1.0的头部,现已基本废弃。
  • Trailer: 表示报文的尾部可以包含哪些字段。
  • Transfer-Encoding: 表示传输数据的编码方式,如chunked(分块编码)等。
  • Upgrade: 在客户端请求和服务器响应中表示要升级使用的协议和版本。

请求头部

请求头部包含有关客户端请求的信息,用于向服务器传达各种请求信息,具体字段有:

  • Accept: 指定可接受的响应值类型,如text/plain、application/json等。
  • Accept-Encoding: 指定可接受的内容编码方式,如gzip、deflate等。
  • Authorization: 在发送请求时用于传递身份验证信息。
  • Host: 指定请求目标的主机名和端口号。
  • User-Agent: 标识浏览器或客户端类型及版本信息。
  • Referer: 请求来源地址,需要注意Referer的安全性。

响应头部

响应头部包含一些与服务器响应有关的信息,用于描述其元数据和选项,具体字段有:

  • Content-Encoding: 表示响应内容的编码方式,如gzip、deflate等。
  • Content-Length: 表示响应的字节数。
  • Content-Type: 表示响应内容的类型,如text/html、application/json等。
  • Location: 响应重定向的目标URL。
  • Server: 表示服务器的名称和版本信息。
  • Set-Cookie: 告知客户端需要设置的Cookie值。

实体头部

实体头部是对响应正文的描述,它包含有关正文数据本身的信息,比如字符编码、长度、类型等,常见的实体头部字段有:

  • Content-Encoding: 表示响应内容的编码方式,如gzip、deflate等。
  • Content-Language: 表示正文的自然语言。
  • Content-Length: 表示响应的字节数。
  • Content-Type: 表示响应内容的类型,如text/html、application/json等。

下面是HTTP头部信息的两个示例:

1.请求头部示例:

GET /index.html HTTP/1.1
Host: www.example.com
Connection: keep-alive
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8

这是一个HTTP请求头部的示例。其中包含了常用的请求头信息,例如请求方式、请求的资源地址、主机信息、缓存控制、浏览器信息等。

2.响应头部示例:

HTTP/1.1 200 OK
Server: Apache/2.2.22 (Ubuntu)
Last-Modified: Fri, 22 Jul 2016 02:19:19 GMT
ETag: "68024703-6459-538722aeb2717"
Content-Type: text/html
Content-Length: 25753
Accept-Ranges: bytes
Date: Fri, 19 Oct 2018 03:02:01 GMT
Via: 1.1 google

这是一个HTTP响应头部示例。其中包含了常用的响应头信息,例如响应状态码、服务器信息、修改时间、响应内容类型和长度等。