Traducción en curso

La interfaz 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.
Es posible añadir metodos de uso como append() (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.
Por razones de seguridad, algunos headers pueden ser controlados unicamente por el user agent. Estos headers incluyen los nombres prohibidos para headers  y nombres prohibidos de Headers response.

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(), delete(), and append() methods will mutate the header. For more information see Guard.

You can retrieve a Headers object via the Request.headers and Response.headers properties, and create a new Headers object using the Headers.Headers() constructor.

An object implementing Headers can directly be used in a for...of structure, instead of 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.

Constructor

Headers.Headers()
Creates a new Headers object.

Methods

Headers.append()
Appends a new value onto an existing header inside a Headers object, or adds the header if it does not already exist.
Headers.delete()
Deletes a header from a Headers object.
Headers.entries()
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()
Returns a ByteString sequence of all the values of a header within a Headers object with a given name.
Headers.has()
Returns a boolean stating whether a Headers object contains a certain header.
Headers.keys()
Returns an iterator allowing you to go through all keys of the key/value pairs contained in this object.
Headers.set()
Sets a new value for an existing header inside a Headers object, or adds the header if it does not already exist.
Headers.values()
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() and Headers.append() is that if the specified header does already exist and does accept multiple values, Headers.set() will overwrite the existing value with the new one, whereas 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 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()
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, and Headers.get() 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

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Soporte básico

42

412

Si

39

343

No

29

284

10.1
Lexicographical sorting, and values from duplicate header names combined when iterated. ? ?44 No24 No
Headers() constructor

42

412

?

39

343

No

29

284

10.1
append

42

412

Si

39

343

No

29

284

10.1
delete

42

412

Si

39

343

No

29

284

10.1
entries451644 ?32 ?
get

42

412

Si

526

39

343

No

29

284

10.1
getAll42 — 60 Si

39 — 52

343

No29 — 47 No
has

42

412

Si

39

343

No

29

284

No
keys451644 ?32 ?
set

42

412

Si

39

343

No

29

284

No
values451644 ?32 ?
FeatureAndroid webviewChrome para AndroidEdge mobileFirefox para AndroidOpera AndroidiOS SafariSamsung Internet
Soporte básico

42

411

42

412

?44

29

284

No4.0
Lexicographical sorting, and values from duplicate header names combined when iterated. ? ? ? No ? No ?
Headers() constructor

42

411

42

412

? No

29

285

No4.0
append

42

411

42

412

Si No

29

284

No4.0
delete

42

411

42

412

Si No

29

284

No4.0
entries4545 Si4432 ?5.0
get

42

411

42

412

Si No

29

284

No4.0
getAll42 — 6042 — 60 Si No29 — 47 No4.0
has

42

411

42

412

Si No

29

284

No4.0
keys4545 Si4432 ?5.0
set

42

411

42

412

Si No

29

284

No4.0
values4545 Si4432 ?5.0

1. From version 41: this feature is behind the Experimental Web Platform Features preference.

2. From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.

3. From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.

4. From version 28: this feature is behind the Experimental Web Platform Features preference.

5. From version 28: this feature is behind the preference.

6. Prior to Firefox 52, get() only returned the first value in the specified header, with getAll() returning all values. From 52 onwards, get() now returns all values and getAll() has been deleted.

See also

 

Etiquetas y colaboradores del documento

Colaboradores en esta página: Estebanrg21
Última actualización por: Estebanrg21,