Javascript中的Http标头?

时间:2010-07-09 18:47:25

标签: javascript http http-headers firebug

是否可以在JavaScript中收集HTTP标头? 在使用Firebug几天后,这只是我的想法。 在我发现的其中一篇文章中,在JavaScript中找不到HTTP头是不可能的,而在firebug中,我们可以看到响应头(客户端)

所以我的问题是我们可以在JavaScript中缓存HTTP标头吗?

2 个答案:

答案 0 :(得分:5)

HTTP标头在JavaScript中不可用。

但是,您可以使用XMLHttpRequestrequest中的任何资源HEAD same domain执行:

var xhr = new XMLHttpRequest();

xhr.open('HEAD', '/', true);            // Relative path of resource

xhr.onreadystatechange = function() {
  if (xhr.readyState === 4) {
    console.log(xhr.getAllResponseHeaders());
  }
}

xhr.send(null);

以上将返回类似这样的内容(在此页面上的Firebug中运行):

Server: nginx 
Date: Fri, 09 Jul 2010 18:58:30 GMT 
Content-Type: text/html; charset=utf-8 
Connection: keep-alive 
Cache-Control: public, max-age=60 
Content-Length: 33273 
Content-Encoding: gzip 
Expires: Fri, 09 Jul 2010 18:59:31 GMT 
Last-Modified: Fri, 09 Jul 2010 18:58:31 GMT 
Vary: * 

您可以轻松获取单个标题的值,如下所示:

xhr.getResponseHeader('Last-Modified');

答案 1 :(得分:3)

Firebug不是一个Web应用程序 - 它是一个XUL应用程序(即一个用XUL和javascript编写的Mozilla应用程序),因此可以访问浏览器端javascript无法访问的http头。

您无法在浏览器中通过javascript访问http标头。