> For the complete documentation index, see [llms.txt](https://anjia1.gitbook.io/web/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://anjia1.gitbook.io/web/browser/fetch/headers.md).

# 3.2.4 Headers 对象

## Header 对象

Headers 接口允许我们对 HTTP request 和 response 的 headers 执行各种操作，比如检索、设置、添加和删除。该接口的所有方法，header name 是不区分大小写的。

Headers 对象还有个 Guard 功能，它影响 `set()`, `delete()` 和 `append()` 方法能否改变 header 的内容。Guard 的取值可以是 `immutable`, `request`, `request-no-cors`, `response` 或 `none`，这取决于使用 header 的位置。

* 当是使用 `Headers()` 构造函数创建新的 Headers 对象时，其 guard 被设置为 `none`（默认值）
* 当创建的是 Request 或 Response 对象时，它具有关联的 Headers 对象，其 guard 值设置如下

<table><thead><tr><th width="129">新对象</th><th width="316">构造器</th><th>Headers 对象的 guard 设置</th></tr></thead><tbody><tr><td>Headers</td><td><code>Header()</code></td><td><code>none</code></td></tr><tr><td>Request</td><td><code>Request()</code></td><td><code>request</code></td></tr><tr><td></td><td><code>Request()</code> 的 <code>mode</code> 值是 <code>no-cors</code></td><td><code>request-no-cors</code></td></tr><tr><td>Response</td><td><code>Response()</code></td><td><code>response</code></td></tr><tr><td></td><td><code>error()</code> 或 <code>redirect()</code> 方法</td><td><code>immutable</code></td></tr></tbody></table>
