![图像在所有浏览器中都看起来像素化](https://linux22.com/image/1433058/%E5%9B%BE%E5%83%8F%E5%9C%A8%E6%89%80%E6%9C%89%E6%B5%8F%E8%A7%88%E5%99%A8%E4%B8%AD%E9%83%BD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%83%8F%E7%B4%A0%E5%8C%96.png)
我有一个 WordPress 网站最近我注意到该网站的图片出现了奇怪的效果。尽管尺寸完美,但由于没有拉伸,图片看起来还是像素化了,即使我下载图片并在普通图片查看器中打开,图片仍然像素化。
我的笔记本电脑使用了 3G 加密狗,因此我认为这是由于连接速度低造成的,于是我使用光纤连接在工作时对其进行了测试,但它看起来总是像素化。
但是当我使用 TOR 浏览器浏览该网站时,图像看起来很干净,而且符合预期。
以下是截图:
现在对此有没有什么可能的解释?
答案1
您这样陈述:
我的笔记本电脑使用了 3G 加密狗,因此我认为这是由于连接速度低造成的,于是我使用光纤连接在工作时对其进行了测试,但它看起来总是像素化。
我不太清楚你的 3G 提供商或工作 ISP 提供商是谁,但这一切听起来都像是网络连接上的代理服务器在重新处理图像以节省带宽。我在美国使用 Sprint 3G/4G 连接时有时会看到这种情况。有一天,任何图像看起来都缩小了。第二天,图像又清晰了。从未给出任何解释或清晰的解释。
许多 ISP 否认他们正在缩小图像以解决带宽瓶颈问题,因为这意味着他们正在篡改“公共运营商”数据,这将否定网络中立的概念;用户为服务速度付费,并期望内容干净地交付给他们而不被篡改。但无论 ISP 怎么说,网上都有很多讨论——比如这里和这里— 指出事实上许多 ISP 都参与了这种做法。
这里有趣的地方在于,您确实提到了您的工作连接和 3G 连接上相同的阻塞现象。如果您 100% 确定是这种情况,那么您的 3G 提供商和工作 ISP 提供商可能是同一实体吗?如果是这样,那就解释了这一点。如果不是,那么下一个猜测是一些国家级互联网代理会过滤所有内容。这可以解释为什么当您使用 TOR(本质上是一种 VPN,可让您的主要连接位于世界任何其他地方)时,图像看起来都很好。
但最终,网络连接链中的某些部分会重新处理这些图像。
如果你想尝试自己诊断这个问题,只需使用curl -I
命令行查看资产的原始标头即可。例如,我在美国纽约布鲁克林,这是我curl -I
从运行 OS X 的 Mac Mini 的终端窗口看到的结果,来自你在帖子中提到的网站的源图像:
curl -I http://topten.tn/wp-content/uploads/2014/07/Maybach-Exelero.jpg
输出如下:
HTTP/1.1 200 OK
Content-Type: image/jpeg
Server: Apache
Last-Modified: Tue, 29 Jul 2014 11:44:22 GMT
Cache-Control: max-age=900
Expires: Sat, 06 Dec 2014 18:29:25 GMT
Content-Length: 24261
Accept-Ranges: bytes
Date: Sat, 06 Dec 2014 18:26:59 GMT
Age: 754
Connection: keep-alive
X-Geo: varn30.rbx5
X-Geo-Port: 1013
X-Cacheable: Cacheable: matched cache
标Cache-Control
头显示最大使用期限为 900。也就是 900 秒。相当于 15 分钟。如果您清除浏览器上的缓存并重新加载页面,则应加载新图像。所以在我看来,缓存在这里不是问题。但如果网络链上的某个人通过代理调整 JPEG 的大小,则标头可能会有所不同。
再次强调,这curl -I
并不能保证为您提供“确凿证据”,因为据我们所知,代理服务器只是压缩了图像并传输了源项目标头,而没有进行修改。但如果您有兴趣深入了解可能导致此问题的原因,则值得检查。