Network Working Group(网络工作组) R. Fielding
Request for Comments: 2616 UC Irvine
Obsoletes(过时弃用): 2068 J. Gettys
Category: Standards Track (类别:标准组 ) Compaq/W3C
J. Mogul
Compaq
H. Frystyk
W3C/MIT
L. Masinter
Xerox
P. Leach
Microsoft
T. Berners-Lee
W3C/MIT
June 1999
超文本传输协议-HTTP/1.1
本备忘录状况
本文档说明了用于互联网社区的标准化跟踪协议,但还需要讨论和建议以便更
加完善。请参考"互联网官方协议标准"(STD1)来了解本协议的标准化状态。分发
散布本文是不受限制的。
版权声明
Copyright (C) The Internet Society (1999). All Rights
Reserved.
摘要
超文本传输协议(HTTP)是一种应用于分布式、协作式、超媒体信息系统的应
用层协议。它是一种通用的,状态无关的协议,可以用于除了超文本以外,还可以
通过扩展它的请求方法,错误代码和报头[47]来完成更多任务,比如名称服务和分
布对象管理系统。HTTP 的一个特点是数据表示方式的典型性(可输入的)(typing)和可协商性,
允许建立独立于被传输数据的系统。
HTTP 在 1990 年 WWW 全球信息刚刚起步的时候就得到了应用。本规范定义了 HTTP/
1. 1 协议,这是 RFC 2068 的升级版[33]。
[页码 1]
------------------------------------------------------------------------
目录
1. Introduction (介绍)...........................................7
1.1. Purpose(目的)..............................................7
1.2. Requirements (要求).........................................8
1.3. Terminology (术语)..........................................8
1.4. Overall Operation (概述)...................................12
2. Notational Conventions and Generic Grammar(标志转换及通用语法)
.....................14
2.1. Augmented BNF (扩充的范式).................................14
2.2. Basic Rules (基本规则).....................................15
3. Protocol Parameters (协议参数)...............................17
3.1. HTTP Version (版本)........................................17
3.2. Uniform Resource Identifiers (统一资源标识)................18
3.2.1. General Syntax (通用语法)...............................19
3.2.2. http URL .................................................19
3.2.3. URI Comparison (URI 对比)................................20
3.3. Date/Time Formats (时间日期格式)...........................20
3.3.1. Full Date (完整日期)....................................20
3.3.2. Delta Seconds ............................................21
3.4. Character Sets (字符集)....................................21
3.4.1. Missing Charset (不见了的字符集)........................22
3.5. Content Codings (内容编码).................................23
3.6. Transfer Codings (传输编码)................................24
3.6.1. Chunked Transfer Coding (大块数据传输编码)..............25
3.7. Media Types (媒介类型).....................................26
3.7.1. Canonicalization and Text Defaults .......................27
3.7.2. Multipart Types (复合类型)..............................27
3.8. Product Tokens (产品记号)..................................28
3.9. Quality Values (质量值)....................................29
3.10. Language Tags (语言标签)...................................29
3.11. Entity Tags (实体标签).....................................30
3.12. Range Units (范围单位).....................................30
4. HTTP Message (HTTP 消息).....................................31
4.1. Message Types (消息类型)...................................31
4.2. Message Headers (消息头)...................................31
4.3. Message Body (消息主体)....................................32
4.4. Message Length (消息长度)..................................33
4.5. General Header Fields (通用头字段).........................34
5. Request (请求)...............................................35
5.1. Request-Line (请求行)......................................35
5.1.1. Method (方法)...........................................36
5.1.2. Request-URI (请求-URI)..................................36
5.2. The Resource Identified by a Request ........................38
5.3. Request Header Fields (请求头字段).........................38
6. Response (应答)..............................................39
6.1. Status-Line (状态行).......................................39
6.1.1. Status Code and Reason Phrase (状态码和原因短语)........39
6.2. Response Header Fields (应答头字段)........................41
[页码 2]
------------------------------------------------------------------------
7. Entity (实体)...................................................42
7.1. Entity Header Fields (实体头字段)..........................42
7.2. Entity Body (实体主体).....................................43
7.2.1. Type (类型).............................................43
7.2.2. Entity Length (实体长度)................................43
8. Connections (连接)...........................................44
8.1. Persistent Connections (持久连接)..........................44
8.1.1. Purpose (目的)..........................................44
8.1.2. Overall Operation(概述).................................45
8.1.3. Proxy Servers (代理服务器)..............................46
8.1.4. Practical Considerations (实践中的考虑).................46
8.2. Message Transmission Requirements (消息传送请求)...........47
8.2.1. Persistent Connections and Flow Control
(持久连接和流程控制)..................47
8.2.2. Monitoring Connections for Error Status Messages
(出错状态消息的监测连接).........48
8.2.3. Use of the 100 (Continue) Status
(状态号 100 的使用).........................48
8.2.4. Client Behavior if Server Prematurely Closes Connection
(如果服务器过早关闭连接,客户端的行为).................50
9. Method Definitions (方法的定义)..............................51
9.1. Safe and Idempotent Methods (安全和幂等方法)...............51
9.1.1. Safe Methods (安全方法).................................51
9.1.2. Idempotent Methods (幂等方法)...........................51
9.2. OPTIONS (选项).............................................52
9.3. GET (命令:GET)............................................53
9.4. HEAD (命令:HEAD)..........................................54
9.5. POST (命令:POST)..........................................54
9.6. PUT (命令:PUT)............................................55
9.7. DELETE (命令:DELETE)......................................56
9.8. TRACE (命令:TRACE)........................................56
9.9. CONNECT (命令:CONNECT)....................................57
10. Status Code Definitions (状态码定义)........................57
10.1. Informational 1xx (报告:1XX)..............................57
10.1.1. 100 Continue (100 继续).................................58
10.1.2. 101 Switching Protocols(交换协议).......................58
10.2. Successful 2xx (成功:2XX).................................58
10.2.1. 200 OK (200 正常).......................................58
10.2.2. 201 Created (201 已建立)................................59
10.2.3. 202 Accepted (202 已接受)...............................59
10.2.4. 203 Non-Authoritative Information (无认证信息)..........59
10.2.5. 204 No Content (无内容).................................60
10.2.6. 205 Reset Content (重置内容)............................60
10.2.7. 206 Partial Content (部分内容)..........................60
10.3. Redirection 3xx (3XX 重定向)..............................61
10.3.1. 300 Multiple Choices (复合选择).........................61
10.3.2. 301 Moved Permanently (永久转移)........................62
10.3.3. 302 Found (找到)........................................62
10.3.4. 303 See Other (访问其他)................................63
10.3.5. 304 Not Modified (304 没有更改).........................63
10.3.6. 305 Use Proxy (305 使用代理)............................64
10.3.7. 306 (Unused) (306 未使用)...............................64
[页码 3]
------------------------------------------------------------------------
10.3.8. 307 Temporary Redirect (暂时重定向).....................65
10.4. Client Error 4xx (客户端错误)..............................65
10.4.1. 400 Bad Request (错误请求).............................65
10.4.2. 401 Unauthorized (未认证)..............................66
10.4.3. 402 Payment Required (支付请求)........................66
10.4.4. 403 Forbidden (禁止)...................................66
10.4.5. 404 Not Found (没有找到)...............................66
10.4.6. 405 Method Not Allowed (方法不容许)....................66
10.4.7. 406 Not Acceptable (不可接受)..........................67
10.4.8. 407 Proxy Authentication Required (要求代理认证).......67
10.4.9. 408 Request Timeout (请求超时).........................67
10.4.10. 409 Conflict (冲突)....................................67
10.4.11. 410 Gone (离开)........................................68
10.4.12. 411 Length Required (长度请求).........................68
10.4.13. 412 Precondition Failed (预处理失败)...................68
10.4.14. 413 Request Entity Too Large (请求的实体太大了)........69
10.4.15. 414 Request-URI Too Long (请求 URI 太长了)...............69
10.4.16. 415 Unsupported Media Type (不支持的媒提类型)..........69
10.4.17. 416 Requested Range Not Satisfiable (请求范围未满足)...69
10.4.18. 417 Expectation Failed (期望失败)......................70
10.5. Server Error 5xx (服务器错误 5XX)..........................70
10.5.1. 500 Internal Server Error (内部错误)....................70
10.5.2. 501 Not Implemented (未实现)............................70
10.5.3. 502 Bad Gateway (错误网关)..............................70
10.5.4. 503 Service Unavailable (服务不可用)....................70
10.5.5. 504 Gateway Timeout (网关超时)..........................71
10.5.6. 505 HTTP Version Not Supported (版本不支持).............71
11. Access Authentication (访问认证)............................71
12. Content Negotiation (内容协商)..............................71
12.1. Server-driven Negotiation (服务器驱动协商).................72
12.2. Agent-driven Negotiation (客户端驱动协商)..................73
12.3. Transparent Negotiation (透明协商).........................74
13. Caching in HTTP (缓存)......................................74
13.1.1 Cache Correctness (缓存正确性)..........................75
13.1.2 Warnings (警告).........................................76
13.1.3 Cache-control Mechanisms (缓存控制机制).................77
13.1.4 Explicit User Agent Warnings (直接用户代理警告).........78