HTTP 协议 RFC2616 中文版 超文本传输协议 HTTP/1.1 修订版 PDF 文档
本文档规定了互联网社区的标准组协议,并需要讨论和建议以便更加完善。请参考 互联网官方协议标准(STD 1)来了解本协议的标准化状态。本协议不限流传发布。
超文本传输协议(HTTP)是一种为分布式,协作式的,超媒体信息系统。它是一种通用的,无状态(stateless)的协议,除了应用于超文本传输外,它也可以应用于诸如名称服务器和分布对象管理系统之类的系统,这可以通过扩展它的请求方法,错误代码和消息头 [47]来实现 。HTTP 的一个特性就是是数据表现形式是可以定义的和可协商性的,这就允许系统能独立于于数据传输被构建。
1 引论
1.1 目的
1.2 要求
1.3 术语
1.4 总体操作
2 符号习惯和一般语法
2.1 扩充的 BNF(扩充的 巴科斯-诺尔范式)
2.2 基本规则 (basic rule)
3 协议参数
3.1 HTTP 版本
3.2 通用资源标识符(URI)
3.2.1 一般语法
3.2.2 HTTP URL
3.2.3 URI 比较
3.3 日期/时间格式(Date/Time Formats)
3.3.1 完整日期 (Full Date)
3.3.2 Delta Seconds (秒间隔)
3.4 字符集 (Character Sets)
3.4.1 丢失字符集(Missing Charset)
3.5 内容编码(Content Codings)
3.6 传输编码 (Transfer Codings)
3.6.1 块传输编码(Chunked Transfer Coding)
3.7 媒体类型(Media Type)
3.7.1 规范化和文本缺省 (Canonicalization and Text Defaults)
3.7.2 多部分类型(Multipart type)
3.8 产品标记 (product Tokens)
3.9 质量值(Quality Values)
3.10 语言标签 (Language Tags)
3.11 实体标签 (Entity Tags)
3.12 范围单位(Range Units)
4 HTTP 消息
4.1 消息类型(Message Types)
4.2 消息头 (Message Headers)
4.3 消息主体 (Message Body)
4.4 消息的长度(Message Length)
4.5 常用头域(General Header Fields)
5 请求(Request)
5.1 请求行 (Request-Line)
5.1.1 方法 (Method)
5.1.2 请求 URL(Request-URI)
5.2 请求资源的识别 (The Resource Identified by a Request)
5.3 请求头域 (Request Header Fields)
6 响应 (Response)
6.1 状态行 (Status-Line)
6.1.1 状态码与原因短语 (Status Code and Reason Phrase)
6.2 响应头域 (Response Header Fields)
7 实体(Entity)
7.1 实体头域(Entity Header Fields)
7.2 实体主体(Entity Body)
7.2.1 类型(Type)
7.2.2 实体主体长度(Entity Length)
8 连接
8.1 持久连接(Persistent Connection)。
8.1.1 目的
8.1.2 总体操作
8.1.2.1 协商(Negotiation)
8.1.2.2 管线(pilelining)
8.1.3 代理 (Proxy Servers)
8.1.4 实际考虑 (Practical Considerations)
8.2 消息传送的要求(Message Transmission Requirements)
8.2.1 持久连接与流量控制 (Persistent Connections and Flow Control)
8.2.2 监视连接中出错状态的消息
8.2.3 100 状态码的用途
8.2.4 服务器过早关闭连接时客户端的行为
9 方法定义(Method Definitions)
9.1 安全和等幂(Idempotent)方法
9.1.1 安全方法(Safe Methods)
9.1.2 等幂方法(Idempotent Mehtods)
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 成功 2xx
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 没有使用的(unused)
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 冲突 (Confilict)
10.4.11 410 不存在(gone)
10.4.12 411 长度必需 (Length Required)
10.4.13 412 先决条件失败 (Precondition Failed)
10.4.14 413 请求实体太大
10.4.15 414 请求 URI 太长(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 (Server Error)
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 版本不支持 (HTTP version Not Supported)
11.访问认证(Access Authentication)
12.内容协商 (Content Negotiation)
12.1 服务器驱动协商(Server-driven Negotiation)
12.2 代理驱动协商 (Agent-driven Negotiation)
12.3 透明协商(Transparent Negotiation)
13 HTTP 中的缓存
13.1.1 缓存正确性(Cache Correctness)
13.1.2 警告信息(Warnings)
13.1.3 缓存控制机制 (Cache-control Mechanism)
13.1.4 显式用户代理警告(Explicit User Agent Warnings)
13.1.5 规则和警告的例外情况(Exceptions to the Rules and Warnings)
13.1.6 由客户控制的行为(Client-controlled Behavior)
13.2 过期模型 (Expiration Model)
13.2.1 服务器指定过期(Server-Specified Expiratiion)
13.2.2 启发式过期
13.2.3 年龄(Age)计算
13.2.4 过期计算(Expiration Calculations)
13.2.5 澄清过期值(Disambiguation Expiration Values)
13.2.6 澄清多个响应(Disambiguating Multiple Response)
13.3 验证模型(Validation Model)
13.3.1 最后修改日期 (Last-Modified Dates)
13.3.2 实体标签缓存验证器(Entity Tag Cache Validators)
13.3.3 强,弱验证器 (Weak and Strong Validators)
13.3.4 关于何时使用实体标签和最后修改时间的规则
13.3.5 非验证条件(Non-validating Conditionls)
13.4 响应的可缓存性(Response Cacheability)
13.5 从缓存里构造响应
13.5.1 End-to-end 和 Hop-by-hop 头域
13.5.2 不可更改的头域 (Non-modifiable Headers)
13.5.3 联合头域(Combining Headers)
13.5.4 联合字节范围(Combing Byte Ranges)
13.6 缓存已协商响应(Caching Negotiated Responses)
13.7 共享和非共享缓存 (Shared and Non-Shared Caches)
13.8 错误和不完全的响应缓存行为
13.9 GET 和 HEAD 的副作用(Side Effects of GET and HEAD)
13.10 在更新或删除后的无效性
13.11 强制写通过( Write-Through Mandatory)
13.12 缓存替换 (Cache Replacement)
13.13 历史列表 (History Lists)
14 头域定义
14.1 Accept
14.2 Accept-Charset
14.3 Accept-Encoding
14.4 Accept-Language
14.5 Accept-Range
14.6 Age
14.7 Allow
14.8 Authorization (授权)
14.9 Cache-Control
14.9.1 什么是可缓存的
14.9.2 什么能被缓存保存
14.9.3 对基本过期机制的改进
14.9.4 缓存重验证和加载控制(Cache Revalidation and Reload Controls)
14.9.5 No-Transform 缓存控制指令
14.9.6 缓存控制扩展(Cache control Extendions)
14.10 Connection
14.11 Content-Encoding
14.12 Content-Language
14.13 Content-Length
14.14 Content-Location
14.15 Content-MD5
14.16 Content-Range
14.17 Content-Type
14.18 Date
14.18.1 没有时钟的源服务器运作
14.19 ETag
14.20 Expect
14.21 Expires
14.22 From
14.23 Host
14.24 If-Match
14.25 If-Modified-Since
14.26 If-None-Match
14.27 If-Range
14.28 If-Unmodified-Since
14.29 Last-Modified
14.30 Location
14.31 Max-Forwards
14.32 Pragma
14.33 Proxy-Authenticate
14.34 Proxy-Authorization
14.35 Range
14.35.1 字节范围 (Byte Ranges)
14.35.2 范围请求(Range Retrieval Requests)
14.36 Referer
14.37 Retry-After
14.38 Server
14.39 TE
14.40 Trailer
14.41 Transfer-Encoding
14.42 Upgrade
14.43 User-Agent
14.44 Vary
14.45 Via
14.46 Warning
14.47 WWW-Authenticate
15.安全考虑 (Security Consideration)
15.1 个人信息 (Personal Information)
15.1.1 服务器日志信息的滥用 (Abuse of Server Log Information)
15.1.2 敏感信息的传输 (Transfer of Sensitive Inforamtion)
15.1.3 URI 中敏感信息的编码(Encoding Sensitive Information in URI’s)
15.1.4 连接到 Accept 头域的隐私问题
15.2 基于文件和路径名称的攻击
15.3 DNS 欺骗
15.4 Location 头域和欺骗
15.5 Content-Disposition 的问题
15.6 授权证书和空闲客户端
15.7 代理和缓存 (Proxies and Caching)
15.7.1 关于代理的服务攻击的拒绝
16 感谢(Acknowledgment)
19 附录
19.1 互联网媒体类型 message/http 和 application/http
19.2 互联网媒体类型 multipart/byteranges
19.3 放松的应用程序 (Tolerent Applications)
19.4 HTTP 实体和 RFC 2045 实体之间的区别
19.4.1 MIME 版本(MIME-Version)
19.4.2 转换到规范化形式 (Conversion to Canoical Form)
19.4.3 日期格式的转换 (Conversion of Date Formate)
19.4.4 Content-Encoding 头域介绍 (Introduction of Content-Encoding)
19.4.5 没有 Content-Transfer-Encoding 头域
19.4.6 Transfer-Encoding 头域的介绍
19.4.7 MHTML 和行长度限制
19.5 其它特征
19.5.1 Content-Disposition
19.6 和以前版本的兼容
19.6.1 对 HTTP/1.0 的改变
19.6.1.1 对多主机 web 服务器和保留 IP 地址简化的改变
19.6.2 和 HTTP/1.0 持久连接的兼容
19.6.3 对 RFC 2068 的改变
20 索引 (Index)
21 全部版权声明
下载地址:https://www.wenjiangs.com/wp-content/uploads/2025/01/RScwlOpmb2rW2WIh.rar
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论