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

注意显示临时标题

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

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


当前回答

我的MEAN应用程序也有类似的问题。在我的情况下,这个问题只发生在一个get请求中。我尝试删除广告块,尝试清除缓存,并尝试与不同的浏览器。没有什么帮助。

最后,我发现api试图返回一个巨大的JSON对象。当我尝试发送一个小对象时,它工作得很好。最后,我改变了我的实现,返回一个缓冲区而不是JSON。

我希望expressJS在这种情况下抛出一个错误。

其他回答

我遇到过这个,当我从https切换到http时,它就消失了。我们在开发中使用的SSL证书没有经过第三方的验证。它们只是本地生成的开发证书。

同样的调用在Chrome Canary和Firefox中也能正常运行。这些浏览器似乎不像Chrome那样严格要求SSL证书。调用将失败在Chrome与“警告:临时头…”消息。

我认为/希望当我们在阶段和prod中使用合法的SSL证书时,我们将不再在Chrome中看到这种行为。

我的MEAN应用程序也有类似的问题。在我的情况下,这个问题只发生在一个get请求中。我尝试删除广告块,尝试清除缓存,并尝试与不同的浏览器。没有什么帮助。

最后,我发现api试图返回一个巨大的JSON对象。当我尝试发送一个小对象时,它工作得很好。最后,我改变了我的实现,返回一个缓冲区而不是JSON。

我希望expressJS在这种情况下抛出一个错误。

在你的代码中使用以下代码:

header('Cache-Control: no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');

这对我很有用。

这发生在我身上,当我有一个下载链接,点击它后,我也试图用jquery捕捉点击,并发送一个ajax请求。问题是,当你点击下载链接时,你正在离开页面,即使它看起来不是这样。如果没有文件传输,您将看到所请求的页面。所以我设置了一个target="_blank"来防止这个问题。

当使用HSTS保护网站时,可能会出现此消息。然后,当有人链接到URL的HTTP版本时,浏览器根据HSTS的指示,不会发出HTTP请求,而是在内部安全地重定向到HTTPS资源。这是为了避免sslstrip等HTTPS降级攻击。