介绍
HTTP头字段是超文本传输协议(HTTP)中的请求和响应消息的头部分的组件。它们定义HTTP事务的操作参数)
标头字段在请求或响应行之后传输,该行是消息的第一行。标题字段是明文字符串格式的冒号分隔的名称 - 值对,由回车符(CR)和换行符(LF)字符序列终止。标题部分的末尾由空字段(行)指示,导致两个连续CR-LF对的传输。在过去,长线可折叠成多行; 连续线由空格(SP)或水平标签(HT)的存在表示,作为下一行的第一个字符。此折叠现已弃用。
一组核心字段由互联网工程任务组(IETF)在RFC 7230,7231,7232,7233,7234和7235中标准化,标题字段的,永久注册表,和临时注册存储库。由IANA维护。每个应用程序可以定义附加的字段名称和允许值。
HTTP / 2对特定的头字段进行了一些限制(见下文)。
非标准头字段通常通过在字段名称前加上前缀来标记,X-但是该约定在2012年6月已被弃用,因为当非标准字段成为标准字段时会造成不便。Downgraded- 2013年3月解除了对使用的早期限制。
一些字段可以包含注释(即在User-Agent,Server,Via字段中),软件可以忽略这些注释。
许多字段值可能包含质量(q)键值对,指定在内容协商中使用的权重。
该标准对每个标题字段名称或值的大小或字段数量没有限制。但是,出于实际和安全原因,大多数服务器,客户端和代理软件都会施加一些限制。例如,Apache 2.3服务器默认情况下将每个字段的大小限制为8,190字节,并且单个请求中最多可以有100个标头字段。
标准请求字段
名称 | 描述 | 例子 | 状态 |
---|---|---|---|
TE | 用户代理愿意接受的传输编码:可以使用与响应头字段Transfer-Encoding相同的值,加上“trailers”值(与“ chunked ”传输方法相关)以通知它期望的服务器在最后一个零大小的块后面的预告片中接收其他字段。 | TE: trailers, deflate | 常驻 |
Host | 服务器的域名(用于虚拟主机),以及服务器正在侦听的TCP端口号。的端口,如果端口是用于请求服务的标准端口号可被省略。 自HTTP / 1.1以来必须提供。如果请求是直接在HTTP / 2中生成的,则不应使用它。 | Host: en.wikipedia.org:8080
| 常驻 |
From | 发出请求的用户的电子邮件地址。 | From: user@example.com | 常驻 |
Proxy-Authorization | 用于连接代理的授权凭据。 | Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== | 常驻 |
Content-MD5 | 一个Base64编码过的二进制MD5请求主体的内容的总和。 | Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ== | 已淘汰 |
Content-Type | 请求正文的媒体类型(与POST和PUT请求一起使用)。 | Content-Type: application/x-www-form-urlencoded | 常驻 |
Content-Length | 请求体的长度,以八位字节为单位(8位字节)。 | Content-Length: 348 | 常驻 |
Upgrade | 要求服务器升级到其他协议。不得在HTTP / 2中使用。 | Upgrade: h2c, HTTPS/1.3, IRC/6.9, RTA/x11, websocket | 常驻 |
If-None-Match | 如果内容未更改,则允许返回304 Not Modified,请参阅HTTP ETag。 | If-None-Match: "737060cd8c284d8af7ad3082f209582d" | 常驻 |
If-Modified-Since | 如果内容未更改,则允许返回304 Not Modified。 | If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT | 常驻 |
If-Match | 在客户端提供的实体与服务器上的同一实体匹配时才执行操作。这主要是针对像PUT这样的方法,如果资源自用户上次更新后未被修改,则仅更新资源。 | If-Match: "737060cd8c284d8af7ad3082f209582d" | 常驻 |
If-Unmodified-Since | 如果实体自特定时间以来未被修改,则仅发送响应。 | If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT | 常驻 |
If-Range | 如果实体没有变化,请将我遗漏的部分寄给我; 否则,请将整个新实体发送给我。 | If-Range: "737060cd8c284d8af7ad3082f209582d" | 常驻 |
Authorization | 身份验证凭据的HTTP认证。 | Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== | 常驻 |
Accept | (/)可以接受响应的媒体类型。请参阅内容协商。 | Accept: text/plain | 常驻 |
Accept-Datetime | 可接受的版本及时。 | Accept-Datetime: Thu, 31 May 2007 20:35:00 GMT | 临时 |
Accept-Encoding | 可接受的编码清单。请参阅HTTP压缩。 | Accept-Encoding: gzip, deflate | 常驻 |
Accept-Language | 可接受的人类语言清单。请参阅内容协商。 | Accept-Language: en-US | 常驻 |
Accept-Charset | 可以接受的字符集。 | Accept-Charset: utf-8 | 常驻 |
Referer | 这是上一个网页的地址,从该网页跟踪了当前请求页面的链接。 (“引用者”一词在RFC以及大多数实现中拼写错误,以至于它已成为标准用法并被认为是正确的术语) | Referer: http://en.wikipedia.org/wiki/Main_Page | 常驻 |
Date | 邮件发起的日期和时间(以RFC 7231日期/时间格式定义的“HTTP日期” 格式)。 | Date: Tue, 15 Nov 1994 08:12:31 GMT | 常驻 |
Cookie | 先前由服务器使用Set-Cookie发送的HTTP cookie(如下所示)。 | Cookie: $Version=1; Skin=new; | 永久:标准 |
Expect | 表示客户端需要特定的服务器行为。 | Expect: 100-continue | 常驻 |
User-Agent | 用户代理的用户代理字符串。 | User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/12.0 | 常驻 |
A-IM | 请求的可接受实例操作。 | A-IM: feed | 常驻 |
Cache-Control | 用于指定请求 - 响应链中所有缓存机制必须遵守的指令。 | Cache-Control: no-cache | 常驻 |
Range | 仅请求实体的一部分。字节从0开始编号。请参阅字节服务。 | Range: bytes=500-999 | 常驻 |
Warning | 关于实体主体可能出现问题的一般警告。 | Warning: 199 Miscellaneous warning | 常驻 |
Access-Control-Request-Method, Access-Control-Request-Headers | 使用Origin(下面)发起跨源资源共享请求。 | Access-Control-Request-Method: GET | 永久:标准 |
Origin | 发起跨源资源共享请求(向服务器请求Access-Control- *响应字段)。 | Origin: http://www.example-social-network.com | 永久:标准 |
Forwarded | 公开通过HTTP代理连接到Web服务器的客户端的原始信息。 | Forwarded: for=192.0.2.60;proto=http;by=203.0.113.43 Forwarded: for=192.0.2.43, for=198.51.100.17 | 常驻 |
Connection | 控制当前连接的选项和逐跳请求字段列表。 | Connection: keep-alive | 常驻 |
Via | 通知服务器发送请求的代理。 | Via: 1.0 fred, 1.1 example.com (Apache/1.1) | 常驻 |
Pragma | 特定于实现的字段,可能在请求 - 响应链中的任何位置具有各种影响。 | Pragma: no-cache | 常驻 |
Max-Forwards | 限制通过代理或网关转发邮件的次数。 | Max-Forwards: 10 | 常驻 |
非标准请求字段
名称 | 描述 | 例子 |
---|---|---|
DNT | 请求Web应用程序禁用其对用户的跟踪。这是Mozilla的X-Do-Not-Track标题字段版本(自Firefox 4.0 Beta 11开始)。Safari和IE9也支持这一领域。2011年3月7日,向IETF提交了一份提案草案。[18]所述的W3C跟踪保护工作组正在生产的规范。 | DNT: 1 (Do Not Track Enabled)
|
Front-End-Https | Microsoft应用程序和负载平衡器使用的非标准标头字段 | Front-End-Https: on |
Proxy-Connection |
实现为对HTTP规范的误解。通常是因为早期HTTP版本的实现中的错误。与标准连接字段具有完全相同的功能。 不得与HTTP / 2一起使用。
| Proxy-Connection: keep-alive |
Save-Data | Chrome,Opera和Yandex浏览器中提供的Save-Data客户端提示请求标头允许开发人员为在浏览器中选择加入数据保存模式的用户提供更轻,更快的应用程序。 | Save-Data: on |
Upgrade-Insecure-Requests |
告诉服务器(可能是在HTTP - > HTTPS迁移的中间)托管混合内容,客户端更喜欢重定向到HTTPS并且可以处理 Content-Security-Policy: upgrade-insecure-requests 不得与HTTP / 2一起使用
| Upgrade-Insecure-Requests: 1 |
X-ATT-DeviceId | 允许更轻松地解析通常在AT&T设备的用户代理字符串中找到的MakeModel / Firmware | X-Att-Deviceid: GT-P7320/P7320XXLPG |
X-Csrf-Token | 用于防止跨站点请求伪造。备选标题名称为:X-CSRFToken和X-XSRF-TOKEN | X-Csrf-Token: i8XNjC4b8KVok4uw5RftR38Wgp2BFwql |
X-Forwarded-For | 事实上的标准,用于通过HTTP代理或负载平衡器识别连接到web服务器的客户端的发起IP地址。被Forwarded标头取代。 | X-Forwarded-For: client1, proxy1, proxy2
|
X-Forwarded-Host | 事实上的标准,用于识别由在客户端请求的原始主机HostHTTP请求报头中,由于主机名和/或反向代理(负载平衡器)的端口可以从原始服务器处理请求不同。被Forwarded标头取代。 | X-Forwarded-Host: en.wikipedia.org:8080
|
X-Forwarded-Proto | 事实上的标准,用于识别一个HTTP请求的始发协议,因为反向代理(或负载平衡器)可以使用HTTP,即使该请求到反向代理是HTTPS web服务器进行通信。Google客户端与Google服务器通信时使用另一种标头形式(X-ProxyUser-Ip)。被Forwarded标头取代。 | X-Forwarded-Proto: https |
X-Http-Method-Override | 请求Web应用程序使用头字段中给出的方法(通常为PUT或DELETE)覆盖请求中指定的方法(通常为POST)。这可以在用户代理或防火墙阻止直接发送PUT或DELETE方法时使用(请注意,这可能是软件组件中的错误,应该修复,或者是故意配置,在这种情况下绕过它可能是这是错误的事情)。 | X-HTTP-Method-Override: DELETE |
X-Request-ID, X-Correlation-ID | 关联客户端和服务器之间的HTTP请求。 | X-Request-ID: f058ebd6-02f7-4d3f-942e-904344e8cde5 |
X-Requested-With | 主要用于识别Ajax请求。大多数JavaScript框架都会发送此字段的值为XMLHttpRequest | X-Requested-With: XMLHttpRequest |
X-UIDH | 服务器端深度数据包插入唯一ID,用于识别Verizon Wireless的客户; 也被称为“perma-cookie”或“supercookie” | X-UIDH: ... |
X-Wap-Profile | 链接到Internet上的XML文件,其中包含有关当前连接设备的完整说明和详细信息。在右边的示例中是AT&T三星Galaxy S2的XML文件。 | x-wap-profile:http://wap.samsungmobile.com/uaprof/SGH-I777.xml |
标准响应字段
名称 | 描述 | 例子 | 状态 |
---|---|---|---|
Accept-Patch | 指定此服务器支持的修补程序文档格式 | Accept-Patch: text/example;charset=utf-8 | 常驻 |
Accept-Ranges | What partial content range types this server supports via byte serving | Accept-Ranges: bytes | 常驻 |
Access-Control-Allow-Origin, Access-Control-Allow-Credentials, Access-Control-Expose-Headers, Access-Control-Max-Age, Access-Control-Allow-Methods, Access-Control-Allow-Headers | 指定哪些网站可以参与跨域资源共享 | Access-Control-Allow-Origin: * | 永久:标准 |
Age | 对象在几秒钟内处于代理缓存中的时间 | Age: 12 | 常驻 |
Allow | 指定资源的有效方法。用于不允许的405方法 | Allow: GET, HEAD | 常驻 |
Alt-Svc |
服务器使用“Alt-Svc”标头(意味着替代服务)来指示其资源也可以在不同的网络位置(主机或端口)或使用不同的协议进行访问 使用HTTP / 2时,服务器应该发送ALTSVC帧。
| Alt-Svc: http/1.1="http2.example.com:8001"; ma=7200 | 常驻 |
Cache-Control | 告诉从服务器到客户端的所有缓存机制是否可以缓存此对象。它以秒为单位测量 | Cache-Control: max-age=3600 | 常驻 |
Connection |
控制当前连接的选项和逐跳响应字段列表。 不得与HTTP / 2一起使用。
| Connection: close | 常驻 |
Content-Disposition | 有机会为二进制格式的已知MIME类型提出“文件下载”对话框,或建议动态内容的文件名。特殊字符需要引号。 | Content-Disposition: attachment; filename="fname.ext" | 常驻 |
Content-Encoding | 数据上使用的编码类型。请参阅HTTP压缩。 | Content-Encoding: gzip | 常驻 |
Content-Language | 所附内容的目标受众的自然语言 | Content-Language: da | 常驻 |
Content-Location | 返回数据的备用位置 | Content-Location: /index.htm | 常驻 |
Content-MD5 | 一个的Base64 -encoded二进制MD5的响应的内容的总和 | Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ== | 常驻 |
Content-Range | 此部分消息属于全身消息的位置 | Content-Range: bytes 21010-47021/47022 | 常驻 |
Content-Type | 此内容的MIME类型 | Content-Type: text/html; charset=utf-8 | 常驻 |
Date | 邮件发送的日期和时间(以RFC 7231定义的“HTTP日期”格式) | Date: Tue, 15 Nov 1994 08:12:31 GMT | 常驻 |
Delta-Base | 指定响应的delta编码实体标记。 | Delta-Base: "abc" | 常驻 |
ETag | 特定版本资源的标识符,通常是消息摘要 | ETag: "737060cd8c284d8af7ad3082f209582d" | 常驻 |
Expires | 给出响应被认为是陈旧的日期/时间(以RFC 7231定义的“HTTP日期”格式) | Expires: Thu, 01 Dec 1994 16:00:00 GMT | Permanent: standard |
IM | 实例操作应用于响应。 | IM: feed | 常驻 |
Last-Modified | 请求对象的最后修改日期(采用RFC 7231定义的“HTTP-date”格式) | Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT | 常驻 |
Link | 用于表示与其他资源的类型关系,其中关系类型由RFC 5988定义 | Link: </feed>; rel="alternate" [44] | 常驻 |
Location | 用于重定向,或者在创建新资源时使用。 |
| 常驻 |
P3P | 该字段应该以形式设置P3P策略P3P:CP="your_compact_policy"。然而,P3P没有起飞,大多数浏览器从未完全实现过它,很多网站都使用虚假的策略文本设置这个字段,这足以欺骗浏览器存在P3P策略并授予第三方cookie权限。 | P3P: CP="This is not a P3P policy! See https://en.wikipedia.org/wiki/Special:CentralAutoLogin/P3P for more info." | 常驻 |
Pragma | 特定于实现的字段,可能在请求 - 响应链中的任何位置具有各种影响。 | Pragma: no-cache | 常驻 |
Proxy-Authenticate | 请求身份验证以访问代理。 | Proxy-Authenticate: Basic | 常驻 |
Public-Key-Pins[46] | HTTP公钥固定,宣布网站的真实TLS证书的哈希值 | Public-Key-Pins: max-age=2592000; pin-sha256="E9CZ9INDbd+2eRQozYqqbQ2yXLVKB9+xcprMF+44U1g="; | 常驻 |
Retry-After | 如果实体暂时不可用,则会指示客户稍后再试。值可以是指定的时间段(以秒为单位)或HTTP日期。 |
| 常驻 |
Server | 服务器的名称 | Server: Apache/2.4.1 (Unix) | 常驻 |
Set-Cookie | 一个HTTP cookie | Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1 | 永久:标准 |
Strict-Transport-Security | HSTS策略通知HTTP客户端缓存仅HTTPS策略的时间长度以及这是否适用于子域。 | Strict-Transport-Security: max-age=16070400; includeSubDomains | 永久:标准 |
Tk | 跟踪状态标头,建议发送的值以响应DNT(不跟踪),可能的值: | Tk: ? | 常驻 |
Trailer | 预告片一般字段值指示给定的标题字段集存在于用分块传输编码编码的消息的尾部中。 | Trailer: Max-Forwards | 常驻 |
Transfer-Encoding |
用于将实体安全地传输给用户的编码形式。目前定义的方法是:chunked,compress,deflate,gzip,identity。 不得与HTTP / 2一起使用。
| Transfer-Encoding: chunked | 常驻 |
Upgrade |
要求客户端升级到其他协议。 不得在HTTP / 2中使用
| Upgrade: h2c, HTTPS/1.3, IRC/6.9, RTA/x11, websocket | 常驻 |
非标准响应字段
名称 | 描述 | 例子 |
---|---|---|
Content-Security-Policy, X-Content-Security-Policy, X-WebKit-CSP | 内容安全策略定义。 | X-WebKit-CSP: default-src 'self' |
Refresh | 用于重定向,或者在创建新资源时使用。此刷新在5秒后重定向。由Netscape引入并由大多数Web浏览器支持的标头扩展。 | Refresh: 5; url=http://www.w3.org/pub/WWW/People.html |
Status | CGI标头字段,指定HTTP响应的状态。正常的HTTP响应使用单独的“状态行”,而不是由RFC 7230定义。 | Status: 200 OK |
Timing-Allow-Origin | 这个Timing-Allow-Origin响应报头指定了被允许看到经由的特征检索的属性的值的起源资源时序API,否则会报告为零由于跨来源的限制。 | Timing-Allow-Origin: *
|
X-Content-Duration | 以秒为单位提供音频或视频的持续时间; 仅支持Gecko浏览器 | X-Content-Duration: 42.666 |
X-Content-Type-Options | 唯一定义的值“nosniff”阻止Internet Explorer从声明的内容类型中嗅探响应。这也适用于Google Chrome,下载扩展程序时。 | X-Content-Type-Options: nosniff [56] |
X-Powered-By | 指定技术(如ASP.NET,PHP,JBoss的)支持Web应用程序(版本的详细信息往往是X-Runtime,X-Version或X-AspNet-Version) | X-Powered-By: PHP/5.4.0 |
X-Request-ID, X-Correlation-ID | 关联客户端和服务器之间的HTTP请求。 | X-Request-ID: f058ebd6-02f7-4d3f-942e-904344e8cde5 |
X-UA-Compatible | 建议使用首选渲染引擎(通常是向后兼容模式)来显示内容。还用于在Internet Explorer中激活Chrome Frame。 | X-UA-Compatible: IE=EmulateIE7 X-UA-Compatible: IE=edge X-UA-Compatible: Chrome=1 |
X-XSS-Protection | 跨站点脚本(XSS)过滤器 | X-XSS-Protection: 1; mode=block |
本文所有内容均来源于网络
1,https://en.wikipedia.org/wiki/List_of_HTTP_header_fields
qq:35290838