The has() method of the Headers interface returns a boolean stating whether a Headers object contains a certain header.
For security reasons, some headers can only be controlled by the user agent. These headers include the forbidden header names and forbidden response header names.
Syntax
myHeaders.has(name);
Parameters
name- The name of the HTTP header you want to test for. If the given name is not a valid HTTP header name, this method throws a
TypeError.
Returns
A Boolean.
Example
Creating an empty Headers object is simple:
var myHeaders = new Headers(); // Currently empty
You could add a header to this using Headers.append, then test for the existence of it using has():
myHeaders.append('Content-Type', 'image/jpeg');
myHeaders.has('Content-Type'); // Returns true
myHeaders.has('Accept-Encoding'); // Returns false
Specifications
| Specification | Status | Comment |
|---|---|---|
| Fetch The definition of 'has()' in that specification. |
Living Standard |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
has | Chrome
Full support
42
| Edge Full support 14 | Firefox
Full support
39
| IE No support No | Opera
Full support
29
| Safari No support No | WebView Android Full support 42 | Chrome Android
Full support
42
| Firefox Android No support No | Opera Android
Full support
29
| Safari iOS No support No | Samsung Internet Android Full support 4.0 |
Legend
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.
- User must explicitly enable this feature.
- User must explicitly enable this feature.
