Request: headers property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

The headers read-only property of the Request interface contains the Headers object associated with the request.


A Headers object.


In the following snippet, we create a new request using the Request() constructor (for an image file in the same directory as the script), then save the request headers in a variable:

const myRequest = new Request("flowers.jpg");
const myHeaders = myRequest.headers; // Headers {}

To add a header to the Headers object we use Headers.append; we then create a new Request along with a 2nd init parameter, passing headers in as an init option:

const myHeaders = new Headers();
myHeaders.append("Content-Type", "image/jpeg");

const myInit = {
  method: "GET",
  headers: myHeaders,
  mode: "cors",
  cache: "default",

const myRequest = new Request("flowers.jpg", myInit);

const myContentType = myRequest.headers.get("Content-Type"); // returns 'image/jpeg'


Fetch Standard
# ref-for-dom-request-headers②

Browser compatibility

BCD tables only load in the browser

See also