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.


Specification Status Comment
The definition of 'getAll()' in that specification.
Living Standard  

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support42 — 60 Yes

39 — 52


No29 — 47 No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support42 — 6042 — 60 Yes No29 — 47 No ?

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

See also

Document Tags and Contributors

 Contributors to this page: fscholz, jpmedley, ziyunfei, chrisdavidmills, kscarfone
 Last updated by: fscholz,