Headers
Headers
de la Fetch API permite realizar diversas acciones en los Headers de solicitud y respuesta HTTP.Estas acciones incluyen recuperar, establecer, agregar y eliminar. Un objeto Header
tiene una lista asociada que inicialmente está vacía, y consta de cero o más pares de nombre y valor.append()
(en-US) (ver ejemplos.) En todos los métodos de esta interfaz, los nombres de los encabezados se relacionan con una secuencia de bytes sensible a mayúsculas y minúsculas.A Headers object also has an associated guard, which takes a value of immutable
, request
, request-no-cors
, response
, or none
. This affects whether the set()
(en-US), delete()
(en-US), and append()
(en-US) methods will mutate the header. For more information see Guard.
You can retrieve a Headers
object via the Request.headers
and Response.headers
(en-US) properties, and create a new Headers
object using the Headers.Headers()
(en-US) constructor.
An object implementing Headers
can directly be used in a for...of
structure, instead of entries()
(en-US): for (var p of myHeaders)
is equivalent to for (var p of myHeaders.entries())
.
Note: you can find more out about the available headers by reading our HTTP headers reference.
Constructor
Headers.Headers()
(en-US)- Creates a new
Headers
object.
Methods
Headers.append()
(en-US)- Appends a new value onto an existing header inside a
Headers
object, or adds the header if it does not already exist. Headers.delete()
(en-US)- Deletes a header from a
Headers
object. Headers.entries()
(en-US)- Returns an
iterator
allowing to go through all key/value pairs contained in this object. Headers.forEach()
- Executes a provided function once for each array element.
Headers.get()
(en-US)- Returns a
ByteString
(en-US) sequence of all the values of a header within aHeaders
object with a given name. Headers.has()
(en-US)- Returns a boolean stating whether a
Headers
object contains a certain header. Headers.keys()
(en-US)- Returns an
iterator
allowing you to go through all keys of the key/value pairs contained in this object. Headers.set()
(en-US)- Sets a new value for an existing header inside a
Headers
object, or adds the header if it does not already exist. Headers.values()
(en-US)- Returns an
iterator
allowing you to go through all values of the key/value pairs contained in this object.
Note: To be clear, the difference between Headers.set()
(en-US) and Headers.append()
(en-US) is that if the specified header does already exist and does accept multiple values, Headers.set()
(en-US) will overwrite the existing value with the new one, whereas Headers.append()
(en-US) will append the new value onto the end of the set of values. See their dedicated pages for example code.
Note: All of the Headers methods will throw a TypeError
if you try to pass in a reference to a name that isn't a valid HTTP Header name. The mutation operations will throw a TypeError
if the header has an immutable Guard. In any other failure case they fail silently.
Note: When Header values are iterated over, they are automatically sorted in lexicographical order, and values from duplicate header names are combined.
Obsolete methods
Headers.getAll()
(en-US)- Used to return an array of all the values of a header within a
Headers
object with a given name; this method has now been deleted from the spec, andHeaders.get()
(en-US) now returns all values instead of just one.
Examples
In the following snippet, we create a new header using the Headers()
constructor, add a new header to it using append()
, then return that header value using get()
:
var myHeaders = new Headers();
myHeaders.append('Content-Type', 'text/xml');
myHeaders.get('Content-Type') // should return 'text/xml'
The same can be achieved by passing an array of arrays or an object literal to the constructor:
var myHeaders = new Headers({
'Content-Type': 'text/xml'
});
// or, using an array of arrays:
myHeaders = new Headers([
['Content-Type', 'text/xml']
]);
myHeaders.get('Content-Type') // should return 'text/xml'
Specifications
Specification | Status | Comment |
---|---|---|
Fetch La definición de 'Headers' en esta especificación. |
Living Standard |
Browser compatibility
BCD tables only load in the browser