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 ByteString values; or an existing Headers object. In the last case, the new Headers object inherits 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', 'Accept-Charset' : 'utf-8', '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


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

Browser compatibility

No compatibility data found. Please contribute data for "api.Headers.headers" (depth: 1) to the MDN compatibility data repository.

See also