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

注意显示临时标题

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

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


当前回答

这可能是因为您发送了Ajax请求,同时使用位置将页面跳转到另一个页面。Href之类的。所以之前的请求失败了。

其他回答

当我第二次尝试为require js加载main.js时,我运行了这个问题,因为错误导致了我的更改。 我刚刚在开发工具设置中打开了“禁用缓存(当开发工具打开时)”. 这很有魅力。

这是另一个解决方案。

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

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

I've had this come up very recently (today in fact) where I've had an AJAX call go out to the server and Chrome fires off the "Caution: Provisional headers are shown." In the server side PHP scripting, there are MySQL queries that can be pretty much instant or take a few seconds depending on the given scenario. My server response isn't sent back to the browser until the queries are completed. I've found I get this error only when time consuming queries (up to a few seconds total) are being done and prevent the response from being sent back.

我的场景涉及到一个非常罕见的可能性,即必须通过添加/删除数百个天气模型输出列来更改一个表……因此,迭代ALTER TABLE查询循环会导致响应延迟。

HTTP/2推送资源将产生临时头显示在检查器中,与@wvega在上面的回答中发布的理论相同。

例:由于服务器将资源推送到客户端(在客户端请求它们之前),浏览器已经缓存了这些资源,因此客户端从不发出/需要请求;所以因为…

...当服务器响应时更新真实的头,但是如果请求被阻塞,则没有响应。

对于chrome v72+什么为我解决了它只是这个:

转到chrome://flags/并禁用这3个标志

禁用站点隔离 启用网络服务 运行进程内网络服务

或者你可以从命令行执行:

chrome --disable-site-isolation-trials --disable-features=NetworkService,NetworkServiceInProcess

为什么会发生这种情况?

谷歌似乎正在将他们的Chromium引擎重构为模块化结构,其中不同的服务将被分离为独立的模块和进程。他们把这个过程称为服务化。网络服务是第一步,接下来是Ui服务、身份服务和设备服务。谷歌提供Chromium项目站点的官方信息。

改变这一点危险吗?

一个例子是网络:一旦我们有了一个网络服务,我们可以选择在进程外运行以获得更好的稳定性/安全性,或者在资源受限时在进程内运行。源