--- title: Headers slug: Web/API/Headers tags: - API - Experimental - Fetch - Headers - Interface - Reference translation_of: Web/API/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.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 {{domxref("Headers.set","set()")}}, {{domxref("Headers.delete","delete()")}}, and {{domxref("Headers.append","append()")}} methods will mutate the header. For more information see {{Glossary("Guard")}}.
You can retrieve a Headers
object via the {{domxref("Request.headers")}} and {{domxref("Response.headers")}} properties, and create a new Headers
object using the {{domxref("Headers.Headers()")}} constructor.
An object implementing Headers
can directly be used in a {{jsxref("Statements/for...of", "for...of")}} structure, instead of {{domxref('Headers.entries()', 'entries()')}}: 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.
Headers
object.Headers
object, or adds the header if it does not already exist.Headers
object.Headers
object with a given name.Headers
object contains a certain header.Headers
object, or adds the header if it does not already exist.Note: To be clear, the difference between {{domxref("Headers.set()")}} and {{domxref("Headers.append()")}} is that if the specified header does already exist and does accept multiple values, {{domxref("Headers.set()")}} will overwrite the existing value with the new one, whereas {{domxref("Headers.append()")}} 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 {{Glossary("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.
Headers
object with a given name; this method has now been deleted from the spec, and {{domxref("Headers.get()")}} now returns all values instead of just one.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'
Specification | Status | Comment |
---|---|---|
{{SpecName('Fetch','#headers-class','Headers')}} | {{Spec2('Fetch')}} |
{{Compat("api.Headers")}}