LMLPHP后院

花生WIFI天猫百度图片加载失败问题技术

maybe yes 发表于 2016-11-21 19:18

在上海挤地铁上班的人应该会经常连接花生WIFI,也许会发现一个问题,有些网站图片加载不了,比如天猫,百度,一点资讯什么的。这个问题我一开始也觉得很奇怪时间一长,就想了解到底是什么原因。

我开始求证,在电脑调试天猫移动站点的图片,发现百度和天猫的图片在移动 UA 下使用的是 webp 后缀文件名,天猫的图片文件名里面含有感叹号逗号等一些非常规字符webp 是谷歌研发的有损图片压缩格式,率先在 chrome 下得以支持,以 chrome 百分之十的市场份额以及谷歌的影响力,webp 算是在移动设备下都支持了,PC 下目前 Firefox 是不支持的。

想到几点可能性,其一,文件名不符合规范导致,但百度的图片路径一直中规中矩,怎么不能加载呢?而后面的结论也证明了不是这个问题;其二,花生 WIFI 的代理服务器不支持 webp 图片格式?这个倒是有点可能性;其三,被花生 WIFI 屏蔽了。

为了证明以上结论我下载了天猫加载失败的图片放到自己服务器上,保留原文件名和重命名后的新文件名分别测试。在花生地铁 WIFI 访问,能正常展示。webp 文件 http 响应头在我的 Apache 服务器上甚至没有被识别出 content type,一样能被展示,使用小米自带浏览器和欧朋 opera 浏览器分别测试正常。HTTP 响应头如下:

Accept-Ranges:bytes
Content-Length:26620
Date:Fri, 18 Nov 2016 06:40:29 GMT
ETag:"67fc-5418d65789943"
Last-Modified:Fri, 18 Nov 2016 06:27:12 GMT
Proxy-Connection:Keep-alive
Server:Apache/2.4.7 (Ubuntu)

这之后我被弄晕了,到底什么原因?过了几天后,我突然想到用 VPN 测试下,看看是不是被屏蔽了。结果证明是花生 WIFI 屏蔽了百度和天猫的图片域名,在 VPN 下确实能够正常展示图片。有图为证。

花生WIFI天猫百度图片加载失败问题

上图是未连接 VPN 时的截图,下图是连接 VPN 后的截图

花生WIFI天猫百度图片加载失败问题

被屏蔽的域名有 ss0.baidu.com img.alicdn.com 等。

其实花生 WIFI 这么做是好的,地铁人口密集,流量需求大,屏蔽一些常用网站的图片可以让更多的人上网。而对于爱上网的人来说,花点钱多买几个代理还是值得的。

2024-11-14 00:01:53 1731513713 0.010389