Obsolete since Gecko 52 (Firefox 52 / Thunderbird 52 / SeaMonkey 2.49)
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The getAll() method of the Headers interface used to return an array of all the values of a header within a Headers object with a given name; in newer versions of the Fetch spec, it has been deleted, and Headers.get() has been updated to fetch all header values instead of only the first one.

If the requested header doesn't exist in the Headers object, it returns an empty array.

For security reasons, some headers can only be controller by the user agent. These headers include the forbidden header names and forbidden response header names.




The name of the HTTP header whose values you want to retrieve from the Headers object. If the given name is not the name of an HTTP header, this method throws a TypeError.


An Array containing a ByteString sequence representing the values of the retrieved header.


Creating an empty Headers object is simple:

var myHeaders = new Headers(); // Currently empty

You could add a header to this using Headers.append, then retrieve it using getAll():

myHeaders.append('Content-Type', 'image/jpeg');
myHeaders.getAll('Content-Type'); // Returns [ "image/jpeg" ]

If the header has multiple values associated with it, the array will contain all the values, in the order they were added to the Headers object:

myHeaders.append('Accept-Encoding', 'deflate');
myHeaders.append('Accept-Encoding', 'gzip');
myHeaders.getAll('Accept-Encoding'); // Returns [ "deflate", "gzip" ]

Note: Use Headers.get to return only the first value added to the Headers object.

Browser compatibilityUpdate compatibility data on GitHub

Chrome Edge Firefox Internet Explorer Opera Safari
Basic support 42 — 60 Yes 39 — 52
39 — 52
Disabled From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
No 29 — 47 No
Android webview Chrome for Android Edge Mobile Firefox for Android Opera for Android iOS Safari Samsung Internet
Basic support 42 — 60 42 — 60 Yes No 29 — 47 No 4.0

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.