The XMLHttpRequest method getResponseHeader() returns the string containing the text of a particular header's value. If there are multiple response headers with the same name, then their values are returned as a single concatenated string, where each value is separated from the previous one by a pair of comma and space. The getResponseHeader() method returns the value as a UTF byte sequence.

Note: The search for the header name is case-insensitive.

If you need to get the raw string of all of the headers, use the getAllResponseHeaders() method, which returns the entire raw header string.


var myHeader = XMLHttpRequest.getResponseHeader(headerName);


A ByteString indicating the name of the header you want to return the text value of.

Return value

A ByteString representing the header's text value, or null if either the response has not yet been received or the header doesn't exist in the response.


In this example, a request is created and sent, and a readystatechange handler is established to look for the readyState to indicate that the headers have been received; when that is the case, the value of the Content-Type header is fetched. If the Content-Type isn't the desired value, the XMLHttpRequest is canceled by calling abort().

var client = new XMLHttpRequest();
client.open("GET", "unicorns-are-teh-awesome.txt", true);

client.onreadystatechange = function() {
  if(this.readyState == this.HEADERS_RECEIVED) {
    var contentType = client.getResponseHeader("Content-Type");
    if (contentType != my_expected_type) {


XMLHttpRequest Standard (XMLHttpRequest)
# dom-xmlhttprequest-getresponseheader

Browser compatibility

BCD tables only load in the browser

See also