您尝试查看的页面无法显示,因为它使用了无效的或者不支持的压缩格式

最近遇到一个问题,甚是奇怪,现记录在此,希望能帮到有需要的兄弟。

事情是这样的,在一个自己实现的开放框架中,因为接口返回的数据量会比较大,
因此根据请求支持的解压缩格式实现将数据压缩后输出,在使用firefox和chrome
测试接口时返回“您尝试查看的页面无法显示,因为它使用了无效的或者不支持的
压缩格式。”的错误,但使用ie测试没有问题,经过分析其他门户网站的页面请求
和返回数据,发现是response header赋值错误;具体原因是这样的,当我们返回
的数据格式是经过压缩以后的,需要在header中指出压缩的格式,如gzip,或者
deflate,因为请求时浏览器过来的accept-encoding是“gzip,deflate”,因此返回
的content-encoding也赋值了“gzip,deflate”,

ContentEncoding="gzip,deflate";

ie是能够正确识别的,但另外的浏览器不能全部识别,必须根据具体的压缩格式赋
值为“gzip”或者“deflate”,

ContentEncoding="gzip";
或者
ContentEncoding="deflate";

由此可以推断出ie是判断是否包含gzip或者deflate来判断是否使用了某种压缩格式,
而另外的浏览器明显是通过全字符匹配的方式来判断的。不过,如果接口是我们
自己使用,只要我们知道并能识别这个content-encoding,倒也没有大碍。

虽然影响不大,还是忙活了大半天,浏览器兼容还真是一丝一毫不能差啊,:)

posted @   bcbr_wang  阅读(1532)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示