1 简介
1.1 目标
1.2 需求
1.3 术语
1.4 Overall Operation
2 符号约定和通用文法
2.1 Augmented BNF
2.2 基本规则
3 协议参数
3.1 HTTP版本
3.2 URI
3.2.1 基本语法
3.2.2 HTTP URL
3.2.3 URI比较
3.3 日期/时间格式
3.3.1 完整日期
3.3.2 Delta秒
3.4 字符集
3.4.1 Missing Charset
3.5 内容编码
3.6 传输编码
3.6.1 块传输编码
3.7 媒体类型
3.7.1 规范化和默认文本
3.7.2 多类型
3.8 Product Tokens
3.9 品质数据
3.10 语言标签
3.11 试题标签
3.12 Range Units
4 HTTP消息
4.1 消息类型
4.2 消息头
4.3 消息主体
4.4 消息长度
4.5 通用头字段
5 请求
5.1 请求行
5.1.1 方法
5.1.2 请求URI
5.2 请求资源识别
5.3 请求头字段
6 回复
6.1 状态行
6.1.1 状态码和说明
6.2 回复头字段
7 实体
7.1 实体头字段
7.2 实体主体
7.2.1 类型
7.2.2 实体长度
8 连接
8.1 持久连接
8.1.1 目的
8.1.2 Overall Operation
8.1.3 代理服务
8.1.4 应用思考
8.2 消息传输要求
8.2.1 持久连接和流控制
8.2.2 对错误状态的监视连接
8.2.3 使用100(继续) 状态
8.2.4 服务端提前关闭连接后客户端动作
9 方法定义
9.1 安全和等幂方法
9.1.1 安全方法
9.1.2 等幂方法
9.2 OPTIONS方法
9.3 GET方法
9.4 HEAD方法
9.5 POST方法
9.6 PUT方法
9.7 DELETE方法
9.8 TRACE方法
9.9 CONNECT方法
10 状态码定义
10.1 信息码1xx
10.1.1 100 Continue
10.1.2 101 Switching Protocols
10.2 成功码1xx
10.2.1 200 OK
10.2.2 201 Created
10.2.3 202 Accepted
10.2.4 203 Non-Authoritative Information
10.2.5 204 No Content
10.2.6 205 Reset Content
10.2.7 206 Partial Content
10.3 重定向3xx
10.3.1 300 Multiple Choices
10.3.2 301 Moved Permanently
10.3.3 302 Found
10.3.4 303 See Other
10.3.5 304 Not Modified
10.3.6 305 Use Proxy
10.3.7 306 (保留)
10.3.8 307 Temporary Redirect
10.4 客户端错误码4xx
10.4.1 400 Bad Request
10.4.2 401 Unauthorized
10.4.3 402 Payment Required
10.4.4 403 Forbidden
10.4.5 404 Not Found
10.4.6 405 Method Not Allowed
10.4.7 406 Not Acceptable
10.4.8 407 Proxy Authentication Required
10.4.9 408 Request Timeout
10.4.10 409 Conflict
10.4.11 410 Gone
10.4.12 411 Length Required
10.4.13 412 Precondition Failed
10.4.14 413 Request Entity Too Large
10.4.15 414 Request-URI Too Long
10.4.16 415 Unsupported Media Type
10.4.17 416 Requested Range Not Satisfiable
10.4.18 417 Expectation Failed
10.5 服务端错误码5xx
10.5.1 500 Internal Server Error
10.5.2 501 Not Implemented
10.5.3 502 Bad Gateway
10.5.4 503 Service Unavailable
10.5.5 504 Gateway Timeout
10.5.6 505 HTTP Version Not Supported
11 访问权限
12 内容会话
12.1 服务端驱动会话
12.2 客户端程序驱动会话
13 HTTP的缓存
13.1.1 缓存正确性
13.1.2 注意
13.1.3 缓存控制机制
13.1.4 显示客户程序提醒
13.1.5 Exceptions to the Rules and Warnings
13.1.6 客户端控制的动作
13.2 终止模型
13.2.1 服务端指定终止
13.2.2 启发式终止
13.2.3 年龄算法
13.2.4 终止算法
13.2.5 Disambiguating Expiration Values
13.2.6 Disambiguating Multiple Responses
13.3 验证模型
13.3.1 最后修改日期
13.3.2 实体标签缓存验证
13.3.3 弱验证和强验证
13.3.4 何时使用实体标签和最后修改时间
13.3.5 无验证条件
13.4 回复缓存
13.5 从缓存中构造回复
13.5.1 End-to-end and Hop-by-hop Headers
13.5.2 不可修改的头
13.5.3 合并头
13.5.4 Combining Byte Ranges