`Content-Disposition` 是 HTTP 头部字段之一,它在响应头中用于指示如何处理响应体的内容。这个字段特别用于文件下载的场景,告诉浏览器或其他客户端如何处理接收到的内容。
### 作用
1. **下载提示**:最常见的用途是提示浏览器这是一个需要下载的文件,而不是直接在浏览器中显示。
2. **文件名指定**:可以指定下载文件的默认名称,这样用户下载文件时,可以自动使用指定的名称保存文件。
### 使用方法
`Content-Disposition` 字段的值通常有两种形式:
1. **attachment**:用于表示响应的内容是一个需要下载的文件。
Content-Disposition: attachment
或者指定文件名:
Content-Disposition: attachment; filename="example.txt"
2. **inline**(较少使用):虽然 `Content-Disposition` 通常用于下载,但理论上它也可以设置为 `inline`,这意味着内容应该被直接显示(如网页中的图片),但实际上这个值的使用更多依赖于 `Content-Type` 字段。
### 示例
在 HTTP 响应中,如果你想让浏览器下载一个名为 `example.txt` 的文本文件,你的响应头可能会包含如下字段:
http HTTP/1.1 200 OK Content-Type: text/plain Content-Disposition: attachment; filename="example.txt" Content-Length: [文件的字节长度] 这里是文件的内容...注意:`Content-Length` 字段用于指定响应体的长度(字节),它是可选的,但在某些情况下(如分块传输编码未使用时)是必需的。
这样,当客户端(如浏览器)接收到这个响应时,它会提示用户下载文件,并将文件保存为 `example.txt`。