我使用的是Chrome版本31.0.1650.63 m。
最近,我注意到Chrome开发者控制台中出现了一些错误,但我的网站似乎没有任何问题。经过调查,它们似乎与嵌入式YouTube链接有关。有问题的标记如下:
<iframe width="560" height="315" src="http://www.youtube.com/embed/hhhrWFxWQRk" frameborder="0" allowfullscreen></iframe>
视频本身是无关紧要的(我只是抓住了我在youtubes首页上看到的第一个作为测试),但是我已经包含了我在这里使用的链接,以防发生了非常具体的事情。
Chrome中提出的请求的响应标头如下:
Alternate-Protocol:80:quic
Cache-Control:no-cache
Content-Encoding:gzip
Content-Length:2560
Content-Type:text/html; charset=utf-8
Date:Sun, 12 Jan 2014 20:35:54 GMT
Expires:Tue, 27 Apr 1971 19:44:06 EST
Server:gwiseguy/2.0
X-Content-Type-Options:nosniff
X-Frame-Options:ALLOWALL
X-XSS-Protection:1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube
我在Chrome开发者控制台中遇到的错误如下:
Invalid 'X-Frame-Options' header encountered when loading 'http://www.youtube.com/embed/hhhrWFxWQRk': 'sil' is not a recognized directive. The header will be ignored.
Error parsing header X-XSS-Protection: sil: expected 0 or 1 at character position 0. The default protections will be applied.
大红色字母。我注意到的第一件事是错误都引用了值“sil”,我在HTTP请求的任何响应头中都没有看到。
视频显示并播放正常,错误表示将使用默认设置 - 因此这看起来不像是一个问题。但是,我很想知道发生了什么,以及为什么会发生这些错误。
我注意到错误与XSS有关,从我的研究中,我认为X-XSS-Protection header is for IE8 only和从YouTube返回的值无效(report = et al)。根据规范,X-Frame-Options标头的值似乎是invalid,但是Wikipedia(我知道!)引用了ALLOWALL选项:
除此之外,一些广告网站返回非标准 ALLOWALL值旨在允许框架内容 任何页面(相当于根本没有设置X-Frame-Options)。[31]
这是一个有效的问题吗?这是Chrome解析错误,youtube标题出现问题,还是我完全忽略了这一点?
我还在Firefox v26,IE 11.0.6600.16476和Opera 12.16中进行了一些测试,但这些浏览器都没有产生此错误。
答案 0 :(得分:4)
看起来这是特定版Chrome的问题 - 现在Chrome已更新到v32,我不再遇到此问题。但是,我收到了更多关于链接到YouTube的警告和错误。