跳到主要内容

1. 简介

RFC 2616 定义了 Content-Disposition 响应头字段 ([RFC2616] 第 19.5.1 节), 但同时指出它并不是 HTTP/1.1 标准的一部分 (第 15.5 节):

Content-Disposition 不是 HTTP 标准的一部分, 但由于它已经被广泛实现, 我们在此为实现者记录其用法和风险.

本规范接管 HTTP 中所用 Content-Disposition 的定义和注册. 基于对现有 user agent (UA) 的互操作性测试, 本规范完整定义了该头字段的 Multipurpose Internet Mail Extensions (MIME) 变体 ([RFC2183]) 所定义特性的一个 profile, 并澄清了国际化方面的问题.

注: 本文档不适用于通过 HTTP 传输的 payload body 中出现的 Content-Disposition 头字段, 例如使用媒体类型 "multipart/form-data" ([RFC2388]) 时的情况.

2. 记法约定

本文档中的关键字 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" 和 "OPTIONAL" 应按 [RFC2119] 中的说明解释.

本规范使用 [RFC2616] 第 2.1 节定义的 augmented BNF (ABNF) 记法, 包括其中关于隐含线性空白 (linear whitespace, LWS) 的规则.

3. 一致性与错误处理

本规范为 Content-Disposition 头字段的 sender (通常是 HTTP origin server) 和 recipient (通常是 HTTP user agent) 定义一致性准则. 如果某个实现满足与其角色相关的全部要求, 则认为该实现符合本规范.

本规范还通过 ABNF 和文字要求 (第 4 节) 将某些形式的头字段值定义为无效, 但并未为这些无效字段值定义特殊处理方式.

sender MUST NOT 生成无效的 Content-Disposition 头字段.

recipient MAY 采取措施从无效头字段中恢复可用的字段值, 但 SHOULD NOT 直接拒绝该消息, 除非这种行为是明确需要的 (例如, 该实现是 validator). 因此, 对无效字段的默认处理方式是忽略它们.