Headers - Web API 接口参考 编辑
Fetch API 的 Headers 接口允许您对HTTP请求和响应头执行各种操作。 这些操作包括检索,设置,添加和删除。 一个Headers对象具有关联的头列表,它最初为空,由零个或多个键值对组成。你可以使用 append()
方法添加 之类的方法添加到此(参见 Examples)。在该接口的所有方法中,标题名称由不区分大小写的字节序列匹配。
出于安全考虑,某些头只能由用户代理控制。这些头信息包括 forbidden header names 和 forbidden response header names。
一个Headers对象也有一个关联的guard,它具有不可变的值,request
,request-no-cors
,response
或none
。 这会影响 set()
, delete()
, 和append()
方法 改变header. 参考更多信息,请看 Guard.
你可以通过 Request.headers
和Response.headers
属性检索一个Headers
对象, 并使用 Headers.Headers()
构造函数创建一个新的Headers
对象.
一个实现了Headers
的对象可以直接用于 for...of
结构中, 而不是 entries()
: for (var p of myHeaders)
等价于 for (var p of myHeaders.entries())
.
Note: 您可以通过阅读我们的 HTTP headers参考找到更多关于可用headers的信息。
构造函数
Headers.Headers()
- 创建一个新的Headers对象.
方法
Headers.append()
- 给现有的header添加一个值, 或者添加一个未存在的header并赋值.
Headers.delete()
- 从Headers对象中删除指定header.
Headers.entries()
- 以
迭代器
的形式返回Headers对象中所有的键值对. Headers.get()
- 以
ByteString
的形式从Headers对象中返回指定header的全部值. Headers.has()
- 以布尔值的形式从Headers对象中返回是否存在指定的header.
Headers.keys()
- 以
迭代器
的形式返回Headers对象中所有存在的header名. Headers.set()
- 替换现有的header的值, 或者添加一个未存在的header并赋值.
Headers.values()
- 以
迭代器
的形式返回Headers对象中所有存在的header的值.
Note: 值得注意的是,在header已存在或者有多个值的状态下Headers.set()
和 Headers.append()
的使用有如下区别, Headers.set()
将会用新的值覆盖已存在的值, 但是Headers.append()
会将新的值添加到已存在的值的队列末尾. 请参相关词条内的示例代码.
Note:如果您尝试传入名称不是有效的HTTP头名称的引用,则所有Headers方法都将引发 TypeError
。 如果头部有一个不变的Guard,则变异操作将会抛出一个 TypeError
。 在其他任何失败的情况下,他们默默地失败。
Obsolete methods
Headers.getAll()
- 用于返回具有给定名称的
Headers
对象中所有值的数组; 这个方法现在已经从规范中删除了,Headers.get()
方法现在返回所有的值而不是一个。
范例
在这个小示例中, 我们将会通过Headers构造函数创建一个新的header, 先使用append()方法添加一个header, 然后通过get()方法返回这个header的值
let myHeaders = new Headers();
myHeaders.append('Content-Type', 'text/xml');
myHeaders.get('Content-Type');
// should return 'text/xml'
规范
Specification | Status | Comment |
---|---|---|
Fetch Headers | Living Standard |
浏览器兼容性
We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 42 41 behind pref | 39 (39) 34 behind pref | 未实现 | 29 | 未实现 |
entries() , keys() , values() , and support of for...of | ? | 44 (44) | ? | ? | ? |
Feature | Android | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | 未实现 | 未实现 | 未实现 | 未实现 | 未实现 | 未实现 | 未实现 |
entries() , keys() , values() , and support of for...of | ? | 44.0 (44) | 2.5 | ? | ? | ? | ? |
相关链接
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论