request请求头中出现Provisional headers are shown的解决过程

一.异常现象

壹哥在利用微服务构建sso单点登录的时候,写了一个login接口,然后就在浏览器中进行测试,结果发出请求后发现,浏览器中产生了如下提示信息,表示根本就无法访问到服务器,而服务器内部也没有收到任何请求!

request请求头中出现Provisional headers are shown的解决过程_postman

这个问题字面意思是“显示了临时报文头”,浏览器第一次发送这个请求,请求被阻塞,未收到响应。当要求浏览器再次发送这个请求时,上个同样的请求都还没有收到响应,浏览器就会报这个警告。

所以这说明我的request请求根本没有发出去,更没有被送到服务器内部,当然也产生不了任何响应!但是request请求头中包含’Provisional headers are shown‘这样的提示信息,这是为什么呢?

二.异常原因

原因1:

网上查找资料,发现有的是因为Chrome浏览器的问题,在谷歌浏览器中出现Provisional headers are shown的警告,而换了其他的浏览器打开就正常了。说是谷歌的插件拦截导致的,由于我自己的谷歌浏览器安装了Postman和cross-request(Yapi请求运行所需),于是我换了一台没有插件的谷歌浏览器,发现一切正常,这种头部的异常可以不用处理,因为请求数据都是可以正常返回的。

但是我的问题不是这个!

原因2:

后端服务器Controller的接口地址上没有添加 @ResponseBody注解,导致接口未对外输出响应信息,也就意味着该接口不存在;

我的问题也不是这个!

原因3:

https协议导致,可惜我的也不是!

原因4:

跨域请求被浏览器拦截:现在网站的静态资源都会存在专门的静态域名下面,和实际访问的域名可能不一致。这种情况基本发生在ajax请求,都是基于CORS来解决这个问题。

原因5:

服务器未及时响应,也就是服务器超时了,这种特定情况下才会出现,跟服务器关联不大。

原因6:

请求的数据采用了缓存,并没有发送请求。只从缓存中获得的通信显示为“显示临时标题”(或“执行”),因为该文件是从缓存中获取的,并且未进行通信,所以并不会显示详细标头。

原因7:

自己的url接口地址写错了。。。。无语凝噎。。。。。。注意,只要url写错,基本都会导致该问题,请仔细检查自己的url地址,不要放过任何一个字母和符号哦!

我的就是最后一个原因,粗心大意,把服务器地址localhost写成了’localhsot‘,真是欲哭无泪啊!

三.解决办法

我就是因为把url接口地址写错了,粗心大意惹的祸,所以呢,就把地址写对了就好了!

request请求头中出现Provisional headers are shown的解决过程_postman_02