HTTP请求头部(HTTP Request Headers)是HTTP协议中的一部分,用于在客户端和服务器之间传递附加信息。 这些头部字段提供了关于请求、客户端环境、或请求的上下文的信息。
HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。
(1)通用头(General headers):即请求和响应都会使用的头信息,但与数据本身无关
首部字段名 | 说明 |
Connection | 允许发送指定连接的选项,例如指定连接是连续的,或者指定“close”选项,通知服务器,在响应完成后,关闭连接 |
Date | 表示消息产生的日期和时间 |
Cache-Control | 用于指定缓存指令,缓存指令是单向的(响应中出现的缓存指令在请求中未必会出现),且是独立的(一个消息的缓存指令不会影响另一个消息处理的缓存机制) |
Pragma | 用来包含实现特定的指令,最常用的是Pragma:no-cache。在HTTP/1.1协议中,它的含义和Cache-Control:no-cache相同。 |
(2)请求头(Request headers):提供了关于请求,响应或者其他的发送实体的信息,包括更多关于要获取的资源或客户端自身的信息
(3)响应头(Response headers):用于服务器传递自身信息的响应。
Accept-Ranges:表明服务器是否支持指定范围请求及哪种类型的分段请求。
Age:从原始服务器到代理缓存形成的估算时间(以秒计,非负)。
Allow:对某网络资源的有效的请求行为,不允许则返回405。
Cache-Control:告诉所有的缓存机制是否可以缓存及哪种类型。
Content-Encodingweb:服务器支持的返回内容压缩编码类型。。
Content-Language:响应体的语言。
Content-Length:响应体的长度。
Content-Location:请求资源可替代的备用的另一地址。
Content-MD5:返回资源的MD5校验值。
Content-Range:在整个返回体中本部分的字节位置。
Content-Type:返回内容的MIME类型。
Date:原始服务器消息发出的时间。
ETag:请求变量的实体标签的当前值。
Expires:响应过期的日期和时间。
Last-Modified:请求资源的最后修改时间。
Location:用来重定向接收方到非请求URL的位置来完成请求或标识新的资源。
Pragma:包括实现特定的指令,它可应用到响应链上的任何接收方。
Proxy-Authenticate:它指出认证方案和可应用到代理的该URL上的参数。
refresh:应用于重定向或一个新的资源被创造,在5秒之后重定向(由网景提出,被大部分浏览器支持)
Retry-After:如果实体暂时不可取,通知客户端在指定时间之后再次尝试。
Serverweb:服务器软件名称。
Set-Cookie:设置Http Cookie。
Trailer:指出头域在分块传输编码的尾部存在。
Transfer-Encoding:文件传输编码。
Vary:告诉下游代理是使用缓存响应还是从原始服务器请求。
Via:告知代理客户端响应是通过哪里发送的。
Warning:警告实体可能存在的问题。
WWW-Authenticate:表明客户端请求实体应该使用的授权方案。
常见的响应头:
Location:用于重定向接受者到一个新的位置,常用在更换域名的时候
Server:包含可服务器用来处理请求的系统信息,与User-Agent请求报头是相对应的
(4)实体头(Entity headers):
实体报头HTTP header用来描述消息体内容。实体报头既可用于请求也可用于响应中。如Content-Length,Content-Language,Content-Encoding之类的报头都是实体报头。
实体首部字段是请求报文和响应报文中实体部分的头域,用以补充报文内容相关的附加信息。下面是搜集到的一些响应头。
allow:服务端通知客户端,访问URI指定资源,服务端支持的所有http动词。
Content-Encoding 服务端告知客户端,服务器对实体的主体部分的编码方式。
Content-length 实体主体部分的大小,长度为字节。
Content-MD5 字符串,由MD5算法生成,目的是检查报文主体在传输过程中的完整性,以及确认是否传达。
Last-Modified表明资源最终修改的时间。