于是在MDN中看了下关于
X-Content-Type-Options:nosniff
解释。
X-Content-Type-Options
响应首部相当于一个提示标志,被服务器用来提示客户端一定要遵循在
Content-Type
首部中对
MIME 类型
的设定,而不能对其进行修改。这就禁用了客户端的
MIME 类型嗅探
行为,换句话说,也就是意味着网站管理员确定自己的设置没有问题。站点安全测试人员通常欢迎对这个首部进行设置。——来源MDN
找到原因回头看下代码,项目中使用jsonp获取地图,同时因为MIME TYPE报错,整个地图都挂了。其中type为
text/javascript
,实际获取content-type为
text/plain
。导致了类型不匹配。(项目最后没有使用这个解决方式)
var script = document.createElement("script");
script.type = "text/javascript";
script.src =
"https://map.qq.com/api/js?v=2.exp&key=XXXX&callback=init";
script.onerror = reject;
document.head.appendChild(script);