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 compatibility

ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Chrome No support 42 — 60Edge No support ≤18 — 79Firefox No support 39 — 52
No support 39 — 52
Full support 34
Disabled From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE No support NoOpera No support 29 — 47Safari No support NoWebView Android No support 42 — 60Chrome Android No support 42 — 60Firefox Android No support NoOpera Android No support 29 — 44Safari iOS No support NoSamsung Internet Android Full support 4.0


Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
User must explicitly enable this feature.
User must explicitly enable this feature.

See also