JS能获取HTTP头么

2025-05-19 13:50:16
推荐回答(2个)
回答1:

当然能了,下面附代码
test.html:








test.php:
if (isset($_COOKIE["time"])) {
$time = $_COOKIE["time"] + 1;
} else {
$time = 1;
}
setcookie("time", $time);

$user = $_REQUEST["user"];
$pass = $_REQUEST["pass"];
print $user.$pass." ".$time;

注意:jQuery通过XMLHttpRequest的getResponseHeader或getAllResponseHeaders()可以获取指定的HTTP header field的值,但规定不能获取Set-Cookie和Set-Cookie2的值。

回答2:

有几种情况

  • 同源请求、跨源请求

  • 客户端、服务器


XMLHttpRequest对象提供了两种读取响应头的方法:

getResponseHeader、getAllResponseHeaders


在同源请求中,可以使用这些方法,但在跨源请求限制客户端查看响应头。默认情况下,跨源请求只允许客户端查看几个简单响应头(Cache-Control、Content-Type等)。对于其他响应头的读取,必须由服务器给予客户端权限。


在服务器端,能读取请求中所有的标头,node.js的Express中间件能快速读取HTTP标头。