跳到主要内容

Appendix B. 相对于先前 RFC 的变更

B.1. 相对于 RFC 2818 的变更

无.

B.2. 相对于 RFC 7230 的变更

介绍 HTTP 设计目标, 历史, 架构, 一致性准则, 协议版本, URI, 消息路由和头部字段的章节已移至本文档.

关于语义一致性的要求已替换为允许忽略或绕过特定于实现的故障. (第 2.2 节)

关于 origin 以及对源服务器的权威访问的描述已针对 "http" 和 "https" URI 扩展, 以涵盖替代服务以及不一定基于 TCP 的安全连接. (第 4.2.1 节, 第 4.2.2 节, 第 4.3.1 节, 和 第 7.3.3 节)

已添加显式要求, 用于检查目标 URI scheme 的语义, 并拒绝不满足任何相关要求的请求. (第 7.4 节)

媒体类型, 媒体范围和 expectation 中的参数可以通过一个或多个尾随分号为空. (第 5.6.6 节)

"Field value" 现在指多个字段行用逗号组合后的值, 这是最常见的用法. 若要指单个头部行的值, 使用 "field line value". (第 6.3 节)

Trailer 字段语义现在超越了 chunked transfer coding 的具体细节. Trailer 字段的使用已进一步受限: 只有在发送方知道字段定义了这种用法时, 才允许将其生成为 trailer field; 也只有在接收方知道相应字段定义允许并定义了如何合并时, 才允许将其合并到头部区段. 在所有其他情况下, 鼓励实现单独存储 trailer 字段或丢弃它们, 而不是合并. (第 6.5.1 节)

源服务器对请求 URI 的 absolute form 相对于 Host 头字段的优先级已明确, 以与代理处理保持一致. (第 7.2 节)

由于 [URI] 中 host 的 URI 语法发生变化, RFC 7230 扩展了 Via 字段 "received-by" 的语法定义, 但这些变化并不适合 Via. 为简单起见, 我们从 received-by 产生式中移除了 uri-host, 因为它可以由现有的 pseudonym 语法覆盖. 特别是, 该变更从 received-by 中主机名允许的字符集合里移除了逗号. (第 7.6.3 节)

B.3. 相对于 RFC 7231 的变更

现在推荐了实现需要支持的最小 URI 长度. (第 4.1 节)

以下内容已得到澄清: 字段值中的 CR 和 NUL 应被拒绝或映射为 SP, 并且在字段值被使用之前, 需要去除其前导和尾随空白. (第 5.5 节)

媒体类型, 媒体范围和 expectation 中的参数可以通过一个或多个尾随分号为空. (第 5.6.6 节)

引入了 HTTP 消息的抽象数据类型, 用于定义消息的组成部分及其语义, 作为跨多个 HTTP 版本的抽象, 而不是以 [HTTP/1.1] 中 HTTP/1.1 的特定语法形式来定义, 并反映消息解析后的内容. 这使得区分内容要求 (传达了什么) 与消息语法要求 (如何传达) 更容易, 并避免把早期协议版本的限制固化到 HTTP 的未来中. (第 6 节)

术语 "payload" 和 "payload body" 已替换为 "content", 以便更好地与其他位置的用法保持一致 (例如字段名), 并避免与 HTTP/2 和 HTTP/3 中的 frame payload 混淆. (第 6.4 节)

术语 "effective request URI" 已替换为 "target URI". (第 7.1 节)

对客户端重试的限制已放宽, 以反映实现行为. (第 9.2.2 节)

已澄清 GET, HEAD 和 DELETE 上的请求主体不具备互操作性这一事实. (第 9.3.1 节, 第 9.3.2 节, 和 第 9.3.5 节)

允许将 Content-Range 头字段 (第 14.4 节) 用作 PUT 上的请求修饰符. (第 9.3.4 节)

从 OPTIONS 方法描述中移除了一项关于设置 Content-Length 的多余要求. (第 9.3.7 节)

已移除 TRACE 响应中使用 "message/http" 媒体类型的规范性要求. (第 9.3.8 节)

为兼容 RFC 2616, 恢复了 Expect 的基于列表的语法. (第 10.1.1 节)

Accept 和 Accept-Encoding 允许出现在响应消息中; 后者由 [RFC7694] 引入. (第 12.3 节)

"Accept Parameters" (accept-params 和 accept-ext ABNF 产生式) 已从 Accept 字段定义中移除. (第 12.5.1 节)

Accept-Charset 字段现在已废弃. (第 12.5.2 节)

已澄清 Vary 头字段中 "*" 与其他值同时存在时的语义. (第 12.5.5 节)

范围单位以大小写不敏感方式比较. (第 14.1 节)

Accept-Ranges 字段的使用不再限于源服务器. (第 14.3 节)

已澄清创建重定向请求的过程. (第 15.4 节)

状态码 308 (先前在 [RFC7538] 中定义) 已加入, 因此它更接近状态码 301, 302 和 307 的定义位置. (第 15.4.9 节)

状态码 421 (先前在 [RFC7540] 的 Section 9.1.2 中定义) 因其通用适用性而加入. 421 不再定义为启发式可缓存, 因为该响应特定于连接 (而非目标资源). (第 15.5.20 节)

状态码 422 (先前在 [WEBDAV] 的 Section 11.2 中定义) 因其通用适用性而加入. (第 15.5.21 节)

B.4. 相对于 RFC 7232 的变更

HTTP 的先前修订版强加了一个任意的 60 秒限制, 用于确定 Last-Modified 是否为强验证器, 以防 Date 和 Last-Modified 值由不同的时钟生成, 或在响应准备期间稍有不同的时间生成. 本规范将其放宽为允许合理判断. (第 8.8.2.2 节)

移除了一项关于 If-Match 和 If-Unmodified-Since 的边缘情况要求: 当验证失败是因为变更请求已经被应用时, 要求不得在 2xx 响应中发送验证器. (第 13.1.1 节第 13.1.4 节)

已澄清 If-Unmodified-Since 不适用于没有修改时间概念的资源. (第 13.1.4 节)

现在可以在处理请求内容之前对前置条件求值, 而不是等到响应本来会成功时再求值. (第 13.2 节)

B.5. 相对于 RFC 7233 的变更

重构了 range-unit 和 ranges-specifier 语法, 以简化并减少 bytes 与其他 (扩展) range unit 之间人为的区别: 通过将 range unit 泛化定义为 token, 并把扩展放入 range-spec (other-range) 的范围内, 移除了 other-range-unit 的重叠语法. 这消除了列表语法 (逗号) 在所有 range set 中的作用歧义, 包括扩展 range unit, 即用于指示包含多个范围的 range-set. 将扩展语法移入 range specifier 也允许单独规定特定于 byte range 的协议.

现在可以在扩展方法上定义 Range 处理. (第 14.2 节)

描述了将 Content-Range 头字段 (第 14.4 节) 用作执行 partial PUT 的请求修饰符. (第 14.5 节)

B.6. 相对于 RFC 7235 的变更

无.

B.7. 相对于 RFC 7538 的变更

无.

B.8. 相对于 RFC 7615 的变更

无.

B.9. 相对于 RFC 7694 的变更

本规范包含 [RFC7694] 中定义的扩展, 但省略了示例和部署注意事项.

致谢

除当前编辑外, 以下个人因其对 HTTP 及其核心规范早期方面的贡献而值得特别致谢: Marc Andreessen, Tim Berners-Lee, Robert Cailliau, Daniel W. Connolly, Bob Denny, John Franks, Jim Gettys, Jean-François Groff, Phillip M. Hallam-Baker, Koen Holtman, Jeffery L. Hostetler, Shel Kaphan, Dave Kristol, Yves Lafon, Scott D. Lawrence, Paul J. Leach, Håkon W. Lie, Ari Luotonen, Larry Masinter, Rob McCool, Jeffrey C. Mogul, Lou Montulli, David Morris, Henrik Frystyk Nielsen, Dave Raggett, Eric Rescorla, Tony Sanders, Lawrence C. Stewart, Marc VanHeyningen, and Steve Zilles.

本文档建立在过去 HTTP 规范的众多贡献之上, 包括 [HTTP/1.0], [RFC2068], [RFC2145], [RFC2616], [RFC2617], [RFC2818], [RFC7230], [RFC7231], [RFC7232], [RFC7233], [RFC7234], 和 [RFC7235]. 这些文档中的致谢仍然适用.

自 2014 年以来, 以下贡献者通过报告错误, 提出有见地的问题, 起草或审查文本以及评估议题, 帮助改进了本规范:

Alan Egerton, Alex Rousskov, Amichai Rothman, Amos Jeffries, Anders Kaseorg, Andreas Gebhardt, Anne van Kesteren, Armin Abfalterer, Aron Duby, Asanka Herath, Asbjørn Ulsberg, Asta Olofsson, Attila Gulyas, Austin Wright, Barry Pollard, Ben Burkert, Benjamin Kaduk, Björn Höhrmann, Brad Fitzpatrick, Chris Pacejo, Colin Bendell, Cory Benfield, Cory Nelson, Daisuke Miyakawa, Dale Worley, Daniel Stenberg, Danil Suits, David Benjamin, David Matson, David Schinazi, Дилян Палаузов (Dilyan Palauzov), Eric Anderson, Eric Rescorla, Éric Vyncke, Erik Kline, Erwin Pe, Etan Kissling, Evert Pot, Evgeny Vrublevsky, Florian Best, Francesca Palombini, Igor Lubashev, James Callahan, James Peach, Jeffrey Yasskin, Kalin Gyokov, Kannan Goundan, 奥 一穂 (Kazuho Oku), Ken Murchison, Krzysztof Maczyński, Lars Eggert, Lucas Pardue, Martin Duke, Martin Dürst, Martin Thomson, Martynas Jusevičius, Matt Menke, Matthias Pigulla, Mattias Grenfeldt, Michael Osipov, Mike Bishop, Mike Pennisi, Mike Taylor, Mike West, Mohit Sethi, Murray Kucherawy, Nathaniel J. Smith, Nicholas Hurley, Nikita Prokhorov, Patrick McManus, Piotr Sikora, Poul-Henning Kamp, Rick van Rein, Robert Wilton, Roberto Polli, Roman Danyliw, Samuel Williams, Semyon Kholodnov, Simon Pieters, Simon Schüppel, Stefan Eissing, Taylor Hunt, Todd Greer, Tommy Pauly, Vasiliy Faronov, Vladimir Lashchev, Wenbo Zhu, William A. Rowe Jr., Willy Tarreau, Xingwei Liu, Yishuai Li, and Zaheduzzaman Sarker.

索引

以下为 RFC 9110 官方索引的完整迁移. 索引项保留英文术语, 以便与规范正文, IANA 注册表, 协议字段名和 ABNF 名称保持一致.

   1 2 3 4 5 A B C D E F G H I L M N O P R S T U V W X

1

100 Continue (status code) *_Section 15.2.1_*
100-continue (expect value) *_Section 10.1.1_*
101 Switching Protocols (status code) *_Section 15.2.2_*
1xx Informational (status code class) *_Section 15.2_*

2

200 OK (status code) *_Section 15.3.1_*
201 Created (status code) *_Section 15.3.2_*
202 Accepted (status code) *_Section 15.3.3_*
203 Non-Authoritative Information (status code) *_Section 15.3
.4_*
204 No Content (status code) *_Section 15.3.5_*
205 Reset Content (status code) *_Section 15.3.6_*
206 Partial Content (status code) *_Section 15.3.7_*
2xx Successful (status code class) *_Section 15.3_*

3

300 Multiple Choices (status code) *_Section 15.4.1_*
301 Moved Permanently (status code) *_Section 15.4.2_*
302 Found (status code) *_Section 15.4.3_*
303 See Other (status code) *_Section 15.4.4_*
304 Not Modified (status code) *_Section 15.4.5_*
305 Use Proxy (status code) *_Section 15.4.6_*
306 (Unused) (status code) *_Section 15.4.7_*
307 Temporary Redirect (status code) *_Section 15.4.8_*
308 Permanent Redirect (status code) *_Section 15.4.9_*
3xx Redirection (status code class) *_Section 15.4_*

4

400 Bad Request (status code) *_Section 15.5.1_*
401 Unauthorized (status code) *_Section 15.5.2_*
402 Payment Required (status code) *_Section 15.5.3_*
403 Forbidden (status code) *_Section 15.5.4_*
404 Not Found (status code) *_Section 15.5.5_*
405 Method Not Allowed (status code) *_Section 15.5.6_*
406 Not Acceptable (status code) *_Section 15.5.7_*
407 Proxy Authentication Required (status code) *_Section 15.5
.8_*
408 Request Timeout (status code) *_Section 15.5.9_*
409 Conflict (status code) *_Section 15.5.10_*
410 Gone (status code) *_Section 15.5.11_*
411 Length Required (status code) *_Section 15.5.12_*
412 Precondition Failed (status code) *_Section 15.5.13_*
413 Content Too Large (status code) *_Section 15.5.14_*
414 URI Too Long (status code) *_Section 15.5.15_*
415 Unsupported Media Type (status code) *_Section 15.5.16_*
416 Range Not Satisfiable (status code) *_Section 15.5.17_*
417 Expectation Failed (status code) *_Section 15.5.18_*
418 (Unused) (status code) *_Section 15.5.19_*
421 Misdirected Request (status code) *_Section 15.5.20_*
422 Unprocessable Content (status code) *_Section 15.5.21_*
426 Upgrade Required (status code) *_Section 15.5.22_*
4xx Client Error (status code class) *_Section 15.5_*

5

500 Internal Server Error (status code) *_Section 15.6.1_*
501 Not Implemented (status code) *_Section 15.6.2_*
502 Bad Gateway (status code) *_Section 15.6.3_*
503 Service Unavailable (status code) *_Section 15.6.4_*
504 Gateway Timeout (status code) *_Section 15.6.5_*
505 HTTP Version Not Supported (status code) *_Section 15.6.6_
*
5xx Server Error (status code class) *_Section 15.6_*

A

accelerator *_Section 3.7, Paragraph 6_*
Accept header field *_Section 12.5.1_*
Accept-Charset header field *_Section 12.5.2_*
Accept-Encoding header field *_Section 12.5.3_*
Accept-Language header field *_Section 12.5.4_*
Accept-Ranges header field *_Section 14.3_*
Allow header field *_Section 10.2.1_*
Authentication-Info header field *_Section 11.6.3_*
authoritative response *_Section 17.1_*
Authorization header field *_Section 11.6.2_*

B

browser *_Section 3.5_*

C

cache *_Section 3.8_*
cacheable *_Section 3.8, Paragraph 4_*
client *_Section 3.3_*
clock *_Section 5.6.7_*
complete *_Section 6.1_*
compress (Coding Format) Section 8.4.1.1
compress (content coding) *_Section 8.4.1_*
conditional request *_Section 13_*
CONNECT method *_Section 9.3.6_*
connection *_Section 3.3_*
Connection header field *_Section 7.6.1_*
content Section 6.4
content coding *_Section 8.4.1_*
content negotiation Section 1.3, Paragraph 4
Content-Encoding header field *_Section 8.4_*
Content-Language header field *_Section 8.5_*
Content-Length header field *_Section 8.6_*
Content-Location header field *_Section 8.7_*
Content-MD5 header field *_Section 18.4, Paragraph 10_*
Content-Range header field *_Section 14.4_*; Section 14.5
Content-Type header field *_Section 8.3_*
control data *_Section 6.2_*

D

Date header field *_Section 6.6.1_*
deflate (Coding Format) Section 8.4.1.2
deflate (content coding) *_Section 8.4.1_*
DELETE method *_Section 9.3.5_*
Delimiters Section 5.6.2, Paragraph 3
downstream *_Section 3.7, Paragraph 4_*

E

effective request URI *_Section 7.1, Paragraph 8.1_*
ETag field *_Section 8.8.3_*
Expect header field *_Section 10.1.1_*

F

field *_Section 5_*; Section 6.3
field line Section 5.2, Paragraph 1
field line value Section 5.2, Paragraph 1
field name Section 5.2, Paragraph 1
field value Section 5.2, Paragraph 2
Fields
* *_Section 18.4, Paragraph 9_*
Accept *_Section 12.5.1_*
Accept-Charset *_Section 12.5.2_*
Accept-Encoding *_Section 12.5.3_*
Accept-Language *_Section 12.5.4_*
Accept-Ranges *_Section 14.3_*
Allow *_Section 10.2.1_*
Authentication-Info *_Section 11.6.3_*
Authorization *_Section 11.6.2_*
Connection *_Section 7.6.1_*
Content-Encoding *_Section 8.4_*
Content-Language *_Section 8.5_*
Content-Length *_Section 8.6_*
Content-Location *_Section 8.7_*
Content-MD5 *_Section 18.4, Paragraph 10_*
Content-Range *_Section 14.4_*; Section 14.5
Content-Type *_Section 8.3_*
Date *_Section 6.6.1_*
ETag *_Section 8.8.3_*
Expect *_Section 10.1.1_*
From *_Section 10.1.2_*
Host *_Section 7.2_*
If-Match *_Section 13.1.1_*
If-Modified-Since *_Section 13.1.3_*
If-None-Match *_Section 13.1.2_*
If-Range *_Section 13.1.5_*
If-Unmodified-Since *_Section 13.1.4_*
Last-Modified *_Section 8.8.2_*
Location *_Section 10.2.2_*
Max-Forwards *_Section 7.6.2_*
Proxy-Authenticate *_Section 11.7.1_*
Proxy-Authentication-Info *_Section 11.7.3_*
Proxy-Authorization *_Section 11.7.2_*
Range *_Section 14.2_*
Referer *_Section 10.1.3_*
Retry-After *_Section 10.2.3_*
Server *_Section 10.2.4_*
TE *_Section 10.1.4_*
Trailer *_Section 6.6.2_*
Upgrade *_Section 7.8_*
User-Agent *_Section 10.1.5_*
Vary *_Section 12.5.5_*
Via *_Section 7.6.3_*
WWW-Authenticate *_Section 11.6.1_*
Fragment Identifiers Section 4.2.5
From header field *_Section 10.1.2_*

G

gateway *_Section 3.7, Paragraph 6_*
GET method *_Section 9.3.1_*
Grammar
ALPHA *_Section 2.1_*
Accept *_Section 12.5.1_*
Accept-Charset *_Section 12.5.2_*
Accept-Encoding *_Section 12.5.3_*
Accept-Language *_Section 12.5.4_*
Accept-Ranges *_Section 14.3_*
Allow *_Section 10.2.1_*
Authentication-Info *_Section 11.6.3_*
Authorization *_Section 11.6.2_*
BWS *_Section 5.6.3_*
CR *_Section 2.1_*
CRLF *_Section 2.1_*
CTL *_Section 2.1_*
Connection *_Section 7.6.1_*
Content-Encoding *_Section 8.4_*
Content-Language *_Section 8.5_*
Content-Length *_Section 8.6_*
Content-Location *_Section 8.7_*
Content-Range *_Section 14.4_*
Content-Type *_Section 8.3_*
DIGIT *_Section 2.1_*
DQUOTE *_Section 2.1_*
Date *_Section 6.6.1_*
ETag *_Section 8.8.3_*
Expect *_Section 10.1.1_*
From *_Section 10.1.2_*
GMT *_Section 5.6.7_*
HEXDIG *_Section 2.1_*
HTAB *_Section 2.1_*
HTTP-date *_Section 5.6.7_*
Host *_Section 7.2_*
IMF-fixdate *_Section 5.6.7_*
If-Match *_Section 13.1.1_*
If-Modified-Since *_Section 13.1.3_*
If-None-Match *_Section 13.1.2_*
If-Range *_Section 13.1.5_*
If-Unmodified-Since *_Section 13.1.4_*
LF *_Section 2.1_*
Last-Modified *_Section 8.8.2_*
Location *_Section 10.2.2_*
Max-Forwards *_Section 7.6.2_*
OCTET *_Section 2.1_*
OWS *_Section 5.6.3_*
Proxy-Authenticate *_Section 11.7.1_*
Proxy-Authentication-Info *_Section 11.7.3_*
Proxy-Authorization *_Section 11.7.2_*
RWS *_Section 5.6.3_*
Range *_Section 14.2_*
Referer *_Section 10.1.3_*
Retry-After *_Section 10.2.3_*
SP *_Section 2.1_*
Server *_Section 10.2.4_*
TE *_Section 10.1.4_*
Trailer *_Section 6.6.2_*
URI-reference *_Section 4.1_*
Upgrade *_Section 7.8_*
User-Agent *_Section 10.1.5_*
VCHAR *_Section 2.1_*
Vary *_Section 12.5.5_*
Via *_Section 7.6.3_*
WWW-Authenticate *_Section 11.6.1_*
absolute-URI *_Section 4.1_*
absolute-path *_Section 4.1_*
acceptable-ranges *_Section 14.3_*
asctime-date *_Section 5.6.7_*
auth-param *_Section 11.2_*
auth-scheme *_Section 11.1_*
authority *_Section 4.1_*
challenge *_Section 11.3_*
codings *_Section 12.5.3_*
comment *_Section 5.6.5_*
complete-length *_Section 14.4_*
connection-option *_Section 7.6.1_*
content-coding *_Section 8.4.1_*
credentials *_Section 11.4_*
ctext *_Section 5.6.5_*
date1 *_Section 5.6.7_*
day *_Section 5.6.7_*
day-name *_Section 5.6.7_*
day-name-l *_Section 5.6.7_*
delay-seconds *_Section 10.2.3_*
entity-tag *_Section 8.8.3_*
etagc *_Section 8.8.3_*
field-content *_Section 5.5_*
field-name *_Section 5.1_*; Section 6.6.2
field-value *_Section 5.5_*
field-vchar *_Section 5.5_*
first-pos *_Section 14.1.1_*; Section 14.4
hour *_Section 5.6.7_*
http-URI *_Section 4.2.1_*
https-URI *_Section 4.2.2_*
incl-range *_Section 14.4_*
int-range *_Section 14.1.1_*
language-range *_Section 12.5.4_*
language-tag *_Section 8.5.1_*
last-pos *_Section 14.1.1_*; Section 14.4
media-range *_Section 12.5.1_*
media-type *_Section 8.3.1_*
method *_Section 9.1_*
minute *_Section 5.6.7_*
month *_Section 5.6.7_*
obs-date *_Section 5.6.7_*
obs-text *_Section 5.5_*
opaque-tag *_Section 8.8.3_*
other-range *_Section 14.1.1_*
parameter *_Section 5.6.6_*
parameter-name *_Section 5.6.6_*
parameter-value *_Section 5.6.6_*
parameters *_Section 5.6.6_*
partial-URI *_Section 4.1_*
port *_Section 4.1_*
product *_Section 10.1.5_*
product-version *_Section 10.1.5_*
protocol-name *_Section 7.6.3_*
protocol-version *_Section 7.6.3_*
pseudonym *_Section 7.6.3_*
qdtext *_Section 5.6.4_*
query *_Section 4.1_*
quoted-pair *_Section 5.6.4_*
quoted-string *_Section 5.6.4_*
qvalue *_Section 12.4.2_*
range-resp *_Section 14.4_*
range-set *_Section 14.1.1_*
range-spec *_Section 14.1.1_*
range-unit *_Section 14.1_*
ranges-specifier *_Section 14.1.1_*
received-by *_Section 7.6.3_*
received-protocol *_Section 7.6.3_*
rfc850-date *_Section 5.6.7_*
second *_Section 5.6.7_*
segment *_Section 4.1_*
subtype *_Section 8.3.1_*
suffix-length *_Section 14.1.1_*
suffix-range *_Section 14.1.1_*
t-codings *_Section 10.1.4_*
tchar *_Section 5.6.2_*
time-of-day *_Section 5.6.7_*
token *_Section 5.6.2_*
token68 *_Section 11.2_*
transfer-coding *_Section 10.1.4_*
transfer-parameter *_Section 10.1.4_*
type *_Section 8.3.1_*
unsatisfied-range *_Section 14.4_*
uri-host *_Section 4.1_*
weak *_Section 8.8.3_*
weight *_Section 12.4.2_*
year *_Section 5.6.7_*
gzip (Coding Format) Section 8.4.1.3
gzip (content coding) *_Section 8.4.1_*

H

HEAD method *_Section 9.3.2_*
Header Fields
Accept *_Section 12.5.1_*
Accept-Charset *_Section 12.5.2_*
Accept-Encoding *_Section 12.5.3_*
Accept-Language *_Section 12.5.4_*
Accept-Ranges *_Section 14.3_*
Allow *_Section 10.2.1_*
Authentication-Info *_Section 11.6.3_*
Authorization *_Section 11.6.2_*
Connection *_Section 7.6.1_*
Content-Encoding *_Section 8.4_*
Content-Language *_Section 8.5_*
Content-Length *_Section 8.6_*
Content-Location *_Section 8.7_*
Content-MD5 *_Section 18.4, Paragraph 10_*
Content-Range *_Section 14.4_*; Section 14.5
Content-Type *_Section 8.3_*
Date *_Section 6.6.1_*
ETag *_Section 8.8.3_*
Expect *_Section 10.1.1_*
From *_Section 10.1.2_*
Host *_Section 7.2_*
If-Match *_Section 13.1.1_*
If-Modified-Since *_Section 13.1.3_*
If-None-Match *_Section 13.1.2_*
If-Range *_Section 13.1.5_*
If-Unmodified-Since *_Section 13.1.4_*
Last-Modified *_Section 8.8.2_*
Location *_Section 10.2.2_*
Max-Forwards *_Section 7.6.2_*
Proxy-Authenticate *_Section 11.7.1_*
Proxy-Authentication-Info *_Section 11.7.3_*
Proxy-Authorization *_Section 11.7.2_*
Range *_Section 14.2_*
Referer *_Section 10.1.3_*
Retry-After *_Section 10.2.3_*
Server *_Section 10.2.4_*
TE *_Section 10.1.4_*
Trailer *_Section 6.6.2_*
Upgrade *_Section 7.8_*
User-Agent *_Section 10.1.5_*
Vary *_Section 12.5.5_*
Via *_Section 7.6.3_*
WWW-Authenticate *_Section 11.6.1_*
header section *_Section 6.3_*
Host header field *_Section 7.2_*
http URI scheme *_Section 4.2.1_*
https URI scheme *_Section 4.2.2_*

I

idempotent *_Section 9.2.2_*
If-Match header field *_Section 13.1.1_*
If-Modified-Since header field *_Section 13.1.3_*
If-None-Match header field *_Section 13.1.2_*
If-Range header field *_Section 13.1.5_*
If-Unmodified-Since header field *_Section 13.1.4_*
inbound *_Section 3.7, Paragraph 4_*
incomplete *_Section 6.1_*
interception proxy *_Section 3.7, Paragraph 10_*
intermediary *_Section 3.7_*

L

Last-Modified header field *_Section 8.8.2_*
list-based field Section 5.5, Paragraph 7
Location header field *_Section 10.2.2_*

M

Max-Forwards header field *_Section 7.6.2_*
Media Type
multipart/byteranges *_Section 14.6_*
multipart/x-byteranges Section 14.6, Paragraph 4, Item 3
message Section 3.4; *_Section 6_*
message abstraction *_Section 6_*
messages *_Section 3.4_*
metadata *_Section 8.8_*
Method
* *_Section 18.2, Paragraph 3_*
CONNECT *_Section 9.3.6_*
DELETE *_Section 9.3.5_*
GET *_Section 9.3.1_*
HEAD *_Section 9.3.2_*
OPTIONS *_Section 9.3.7_*
POST *_Section 9.3.3_*
PUT *_Section 9.3.4_*
TRACE *_Section 9.3.8_*
multipart/byteranges Media Type *_Section 14.6_*
multipart/x-byteranges Media Type Section 14.6, Paragraph 4,
Item 3

N

non-transforming proxy *_Section 7.7_*

O

OPTIONS method *_Section 9.3.7_*
origin *_Section 4.3.1_*; Section 11.5
origin server *_Section 3.6_*
outbound *_Section 3.7, Paragraph 4_*

P

phishing *_Section 17.1_*
POST method *_Section 9.3.3_*
Protection Space Section 11.5
proxy *_Section 3.7, Paragraph 5_*
Proxy-Authenticate header field *_Section 11.7.1_*
Proxy-Authentication-Info header field *_Section 11.7.3_*
Proxy-Authorization header field *_Section 11.7.2_*
PUT method *_Section 9.3.4_*

R

Range header field *_Section 14.2_*
Realm Section 11.5
recipient *_Section 3.4_*
Referer header field *_Section 10.1.3_*
representation *_Section 3.2_*
request *_Section 3.4_*
request target *_Section 7.1_*
resource *_Section 3.1_*; Section 4
response *_Section 3.4_*
Retry-After header field *_Section 10.2.3_*
reverse proxy *_Section 3.7, Paragraph 6_*

S

safe *_Section 9.2.1_*
satisfiable range *_Section 14.1.1_*
secured *_Section 4.2.2_*
selected representation *_Section 3.2, Paragraph 4_*;
Section 8.8; Section 13.1
self-descriptive *_Section 6_*
sender *_Section 3.4_*
server *_Section 3.3_*
Server header field *_Section 10.2.4_*
singleton field Section 5.5, Paragraph 6
spider *_Section 3.5_*
Status Code Section 15
Status Codes
Final Section 15, Paragraph 7
Informational Section 15, Paragraph 7
Interim Section 15, Paragraph 7
Status Codes Classes
1xx Informational *_Section 15.2_*
2xx Successful *_Section 15.3_*
3xx Redirection *_Section 15.4_*
4xx Client Error *_Section 15.5_*
5xx Server Error *_Section 15.6_*

T

target resource *_Section 7.1_*
target URI *_Section 7.1_*
TE header field *_Section 10.1.4_*
TRACE method *_Section 9.3.8_*
Trailer Fields *_Section 6.5_*
ETag *_Section 8.8.3_*
Trailer header field *_Section 6.6.2_*
trailer section *_Section 6.5_*
trailers *_Section 6.5_*
transforming proxy *_Section 7.7_*
transparent proxy *_Section 3.7, Paragraph 10_*
tunnel *_Section 3.7, Paragraph 8_*

U

unsatisfiable range *_Section 14.1.1_*
Upgrade header field *_Section 7.8_*
upstream *_Section 3.7, Paragraph 4_*
URI *_Section 4_*
origin *_Section 4.3.1_*
URI reference *_Section 4.1_*
URI scheme
http *_Section 4.2.1_*
https *_Section 4.2.2_*
user agent *_Section 3.5_*
User-Agent header field *_Section 10.1.5_*

V

validator *_Section 8.8_*
strong *_Section 8.8.1_*
weak *_Section 8.8.1_*
Vary header field *_Section 12.5.5_*
Via header field *_Section 7.6.3_*

W

WWW-Authenticate header field *_Section 11.6.1_*

X

x-compress (content coding) *_Section 8.4.1_*
x-gzip (content coding) *_Section 8.4.1_*

作者地址

   Roy T. Fielding (editor)
Adobe
345 Park Ave
San Jose, CA 95110
United States of America
Email: [email protected]
URI: https://roy.gbiv.com/


Mark Nottingham (editor)
Fastly
Prahran
Australia
Email: [email protected]
URI: https://www.mnot.net/


Julian Reschke (editor)
greenbytes GmbH
Hafenweg 16
48155 Münster
Germany
Email: [email protected]
URI: https://greenbytes.de/tech/webdav/