HTTP头字段

HTTP头字段（英語：HTTP header fields）是指在超文本传输协议（HTTP）的请求和响应消息中的消息头部分。它们定义了一个超文本传输协议事务中的操作参数。HTTP头部字段可以自己根据需要定义，因此可能在 Web 服务器和浏览器上发现非标准的头字段。 协议头的字段，是在请求（request）或响应（response）行（一条消息的第一行内容）之后传输的。协议头的字段是以明文的字符串格式传输，是以冒号分隔的键名与键值对，以回车（CR）加换行（LF）符号序列结尾。协议头部分的结尾以一个空白字段标识，结果就是，也就是传输两个连续的CR+LF。在历史上，很长的行曾经可能以多个短行的形式传输；在下一行的开头，输出一个空格（SP）或者一个水平制表符（HT），表示它是一个后续行。在如今，这种换行形式已经被废弃。 HTTP 头字段根据实际用途被分为以下 4 种类型： 通用头字段（英語：General Header Fields） 请求头字段（英語：Request Header Fields） 响应头字段（英語：Response Header Fields） 实体头字段（英語：Entity Header Fields） 在 RFC 7230、RFC 7231、RFC 7232、RFC 7233、RFC 7234 和 RFC 7235 中，对一组核心字段进行了标准化。有一份对于这些字段的官方的登记册，以及 一系列的补充规范 ，由互联网号码分配局（IANA）维护。各个应用程序也可以自行定义额外的字段名字及相应的值。头字段的永久登记表（页面存档备份，存于互联网档案馆）和临时登记表（页面存档备份，存于互联网档案馆）目前由IANA维护。其他的字段名称和允许的值可以由各应用程序定义。 按照惯例，非标准的协议头字段是在字段名称前加上X-前缀来标识。但这一惯例已在2012年6月被废弃，因为按照这种惯例，非标准字段变成标准字段时会引起很多不方便之处。以前曾经有的使用Downgraded-的限制也在2013年3月被解除。。 某些字段中可以包含注释内容（例如User-Agent、Server和Via字段中），这些注释内容可由应用程序忽略。 很多字段的值中可以包含带有权重的质量（quality，常被简称为Q）的键值对，指定的“重量”会在内容协商的过程中使用。 标准中没有对每个协议头字段的名称和值的大小设置任何限制，也没有限制字段的个数。然而，出于实际场景及安全性的考虑，大部分的服务器、客户端和代理软件都会实施一些限制。例如，Apache 2.3服务器在默认情况下限制每个字段的大小不得超过8190字节，同时，单个请求中最多有100个头字段。 cookie "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing". ietf.org. Simtec Limited. 2. HTTP Headers. [2010-09-10]. （原始内容存档于2010-09-21）.  Internet Engineering Task Force. RFC 6648. 2012-06-01 [2012-11-12]. （原始内容存档于2012-11-18）.  Message Headers. Iana.org. 2014-06-11 [2014-06-12]. （原始内容存档于2014-07-26）.  Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing. itef.org. [2014-07-24]. （原始内容存档于2016-12-14）.  Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content. ietf.org. [2014-07-24]. （原始内容存档于2017-05-25）.  "core - Apache HTTP Server". "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing". "Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content". "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing". “引导者”（“referrer”）这个单词，在RFC 中被拼错了，因此在大部分的软件实现中也拼错了，以至于，错误的拼法成为了标准的用法，还被当成了正确的术语。 "Try out the "Do Not Track" HTTP header" （页面存档备份，存于互联网档案馆）. IETF Do Not Track: A Universal Third-Party Web Tracking Opt Out （页面存档备份，存于互联网档案馆） March 7, 2011 W3C Tracking Preference Expression (DNT) （页面存档备份，存于互联网档案馆）, January 26, 2012 Amos Jeffries (2010-07-02). The Apache Software Foundation. "mod_proxy - Apache HTTP Server Version 2.2" （页面存档备份，存于互联网档案馆）. 因为反向代理往往修改这个头部 Dave Steinberg (2007-04-10). 在反向代理(负载均衡)上，即使最初发往该反向代理的请求类型是安全的超文本传输协议（HTTPS），该反向代理也仍然可能会使用超文本传输协议（HTTP）来与网页服务器通信。谷歌客户端在与谷歌服务器通信时会使用该协议头的一个替代形式（X-ProxyUser-Ip）。 "Helping to Secure Communication: Client to Front-End Server" （页面存档备份，存于互联网档案馆）. 2006-07-27. "OpenSocial Core API Server Specification 2.5.1" （页面存档备份，存于互联网档案馆）. "ATT Device ID" （页面存档备份，存于互联网档案馆）. "WAP Profile" Archive.is的存檔，存档日期2012-07-29. "The Proxy-Connection: header is a mistake in how some web browsers use HTTP." （页面存档备份，存于互联网档案馆） "SAP Cross-Site Request Forgery Protection" （页面存档备份，存于互联网档案馆）. "Django Cross Site Request Forgery protection" （页面存档备份，存于互联网档案馆）. "Angular Cross Site Request Forgery (XSRF) Protection" （页面存档备份，存于互联网档案馆）. 。 "RFC 5789". "RFC 6266". [[rfc:7231#section-3.1.3.2|https://tools.ietf.org/html/rfc7231#section-3.1.3.2 （页面存档备份，存于互联网档案馆）]](123cha) （页面存档备份，存于互联网档案馆） Indicate the canonical version of a URL by responding with the Link rel="canonical" HTTP header （页面存档备份，存于互联网档案馆） Retrieved: 2012-02-09 W3C P3P Work Suspended （页面存档备份，存于互联网档案馆） "Public Key Pinning Extension for HTTP" （页面存档备份，存于互联网档案馆）. "Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content". "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing". "HTTP Header Field X-Frame-Options". "Content Security Policy Level 2" （页面存档备份，存于互联网档案馆）. Eric Lawrence (2008-07-02). "Content Security Policy" （页面存档备份，存于互联网档案馆）. Eric Lawrence (2008-09-03). "Hosting - Google Chrome Extensions - Google Code" （页面存档备份，存于互联网档案馆）. "Why does ASP. （页面存档备份，存于互联网档案馆） "Defining Document Compatibility: Specifying Document Compatibility Modes" （页面存档备份，存于互联网档案馆）. 2011-04-01. "Configuring servers for Ogg media" （页面存档备份，存于互联网档案馆）. 2014-05-26. Headers: Permanent Message Header Field Names（页面存档备份，存于互联网档案馆） RFC 6638: 废除给非标准参数加上前缀 X- RFC 7230: Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing RFC 7231: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content RFC 7232: Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests RFC 7233: Hypertext Transfer Protocol (HTTP/1.1): Range Requests RFC 7234: Hypertext Transfer Protocol (HTTP/1.1): Caching RFC 7235: Hypertext Transfer Protocol (HTTP/1.1): Authentication RFC 2965: IETF HTTP State Management Mechanism RFC HTTP/1.1 headers from a web server point of view HTTP Request Header Viewer HTTP Response Header Viewer（页面存档备份，存于互联网档案馆） - Retrieves the HTTP response headers of any domain. Internet Explorer and Custom HTTP Headers - EricLaw's IEInternals - Site Home - MSDN Blogs（页面存档备份，存于互联网档案馆） crwlr.net - HTTP Header index HTTP Header with Privacyinfo - Display your HTTP request and response headers