The Headers() constructor creates a new Headers object.


var myHeaders = new Headers(init);


init Optional

An object containing any HTTP headers that you want to pre-populate your Headers object with. This can be a simple object literal with String values; or an existing Headers object. In the last case, the new Headers object copies its data from the existing Headers object.


Creating an empty Headers object is simple:

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

You could add a header to this using Headers.append:

myHeaders.append('Content-Type', 'image/jpeg');
myHeaders.get('Content-Type'); // Returns 'image/jpeg'

Or you can add the headers you want as the Headers object is created. In the following snippet we create a new Headers object, adding some headers by passing the constructor an init object as an argument:

var httpHeaders = { 'Content-Type' : 'image/jpeg', 'X-My-Custom-Header' : 'Zeke are cool' };
var myHeaders = new Headers(httpHeaders);

You can now create another Headers object, passing it the first Headers object as its init object:

var secondHeadersObj = new Headers(myHeaders);
secondHeadersObj.get('Content-Type'); // Would return 'image/jpeg' — it inherits it from the first headers object


Fetch Standard (Fetch)
# ref-for-dom-headers①

Browser compatibility

BCD tables only load in the browser

See also