网站在某些浏览器中下载异常文件

网站在某些浏览器中下载异常文件

使用 OSX El Capitan 10.11.1,目前无法在其他操作系统上测试。(更新:一位朋友在 OSX 10.10.5 上检查过,一切似乎都很好)

最近,有些网站无法通过 Chrome 或 Firefox 访问,但在 Safari 中似乎可以正常加载(编程学校Backbone 教程是我随口记得的那些)。如果我尝试在 Chrome 或 FF 中打开它们,则会下载一个奇怪的文件。文件的名称通常反映了我尝试访问的页面,无论我尝试访问哪个网站或页面,文件内容始终相同。

Opera 和 Vivaldi 的行为方式相同。此外,Tumblr还会下载一个文件,但不是基于页面名称而总是被称为“d20.html”,而且除了正在下载的文件之外,实际网站也能正确加载 Tumblr。

我从以下地址获取了 Codeschool 和 Backbone 教程的 IP获取站点 IP并尝试直接从浏览器访问这些网址,但两次都遇到了 Cloudfare 错误页面(错误 1003,不允许直接 IP 访问)。我去了 Cloudfare 的网站查看它是什么,主页第一次加载正常,但其他每个页面(以及后续访问的主页)都存在与我提到的其他网站相同的问题。此外,似乎 Codeschool 的部分内容位于子域中(例如,http://gitreal.codeschool.com/) 均可访问。

以下是该文件的十六进制转储:

0000000 00 00 12 04 00 00 00 00 00 00 03 00 00 00 80 00
0000010 04 7f ff ff ff 00 05 00 ff ff ff 00 00 04 08 00
0000020 00 00 00 00 7f ff 00 00 00 00 08 07 00 00 00 00
0000030 00 00 00 00 00 00 00 00 01 0a
000003a

省略空值,结果如下:[设备控制 2]、[传输结束]、[文本结束]、[填充]、[传输结束]、[删除]、ÿ、ÿ、ÿ、[查询]、ÿ、ÿ、ÿ、[传输结束]、[退格键]、[删除]、ÿ、[退格键]、[铃声]、[标题开始]

此外,在 vim 中我注意到该文件已自动从 转换latin-1utf-8

Firefox 检测到这些是 DMS 文件,Chrome 似乎不知道它们是什么。

由于我可以通过 Safari 访问这些网站,所以这不是什么大问题,但我仍然很好奇到底发生了什么。我最初以为这是 Codeschool 的服务器端问题,但在发现另一个网站存在同样的问题,并且发现这些网站在 Safari 中也能正常工作后,我不再那么相信这一点了。

什么原因可能导致了这个问题?我能做些什么来解决它?

答案1

这是一个 HTTP2 框架(当您搜索该十六进制字符串时,这是最热门的 Google 搜索结果之一)。

下载的文件可能是由于配置错误导致的,即向需要 HTTP 的客户端发送 HTTP2。

https://datatracker.ietf.org/doc/html/rfc7540#section-4.1

相关内容