我注意到一个奇怪的警告信息,当使用谷歌chrome检查器(F12)查看下载的资源:

注意显示临时标题

我发现一些可能相关的东西,网络面板:添加临时请求头的警告,但我不能完全理解它。相关问题可以发现Chrome块请求以及XMLHttpRequest无法加载。未加载的资源显示警告:显示临时标头。

与第一个问题类似,我的资源被阻塞了,但后来自动加载了相同的资源。不像第二个问题,我不想解决任何问题;我想知道这条信息是什么意思以及我为什么收到它。


当前回答

这个报头显示的原因是:你的请求没有发送到远程。

它通常由

扩展已经阻止您的请求 Chrome使用自己的缓存获取您的资源

Chrome无法从尚未发出的请求中获得请求头。

chrome的最新版本显示:

只有临时头是可用的,因为这个请求不是通过网络发送的,而是从本地缓存提供的, 它不存储原始请求头。 禁用缓存以查看完整的请求头

其他回答

我相信当实际的请求没有发送时就会发生这种情况。通常在加载缓存资源时发生。

发生这种情况的一个常见原因是,如果您正在跟踪事件而没有阻止默认操作。例如,如果你有一个点击事件,那么你会想要包括:

e.preventDefault();

or

return false;

如果你不这样做,你会在你的web控制台的Network选项卡中看到临时头部警告以及“取消”状态。

我在WordPress中使用LiteSpeed缓存插件。在那里,我启用了浏览器缓存。禁用这个功能对我有用。然后,后来我启用它以提高性能。

这是另一个解决方案。

如果您在使用$ajax()调用时遇到此问题,请在您的serverhost解决问题之前添加http://。

var requestURL = "http://" + serverHost;
$.ajax({
    dataType: "json",
    url: requestURL,
    data: data,
    success: success    
});

在我的案例中,原因是AdBlock扩展。

向服务器的请求通过了,我得到了响应,但由于“临时头部..”显示在Dev工具中,我无法看到请求cookie。禁用AdBlock后,警告消失了,开发工具开始再次显示cookie。

为了使更改生效,还需要关闭Dev工具并刷新页面