有没有办法使用浏览器';使用Javascript进行本机gzip解压缩?

有没有办法使用浏览器';使用Javascript进行本机gzip解压缩?,javascript,gzip,Javascript,Gzip,后端服务器使用gzip文件响应,但不使用 内容编码:gzip头。我无法控制服务器,因此无法处理服务器端的问题 我现在需要的是使用javascript对gzip文件客户端进行解压缩 我发现这个优秀的库可以帮助我做到这一点: 但我不想仅仅为了ungzip文件而添加额外的库。我觉得应该有一种方法可以使用浏览器的本机功能来取消gzip。我说得对吗?如果我错了,有人能解释一下为什么这个浏览器功能没有作为javascript API公开吗?有没有一种方法可以在不添加额外库的情况下在javascript中取消

后端服务器使用gzip文件响应,但不使用
内容编码:gzip头
。我无法控制服务器,因此无法处理服务器端的问题

我现在需要的是使用javascript对gzip文件客户端进行解压缩

我发现这个优秀的库可以帮助我做到这一点:

但我不想仅仅为了ungzip文件而添加额外的库。我觉得应该有一种方法可以使用浏览器的本机功能来取消gzip。我说得对吗?如果我错了,有人能解释一下为什么这个浏览器功能没有作为javascript API公开吗?有没有一种方法可以在不添加额外库的情况下在javascript中取消gzip文件?

我觉得应该有一种方法可以使用浏览器的本机功能取消gzip。如果我错了,有人能解释一下为什么这个浏览器功能没有作为javascript API公开吗

不,不应该有,除非它在w3c标准中,而且它不是。关于gzip压缩的唯一标准是

我真的相信它不会成为标准,因为有成千上万的算法(用于压缩、加密等),你可能想要使用,而浏览器无法处理所有这些算法;为一种算法创建接口而不为另一种算法创建接口也是不公平的

HTTP协议是一种例外。这里的压缩是为了让数百万人的生活更轻松。HTTP是web性能的瓶颈,因此,只要压缩在那里可用,我就无法想象在其他地方需要使用JavaScript压缩的情况。我知道的唯一情况是压缩
localStorage
/
indexedDB
中的项,但即使在那里gzip也无法工作,因为它不产生
UTF-16
输出

这就是为什么这不在标准中,也就是为什么它很可能不会出现在标准中

您的特殊情况是服务器端实现错误。使用压缩输出而不使用适当的头文件真的很难闻。要么不使用压缩,要么正确地进行压缩

有没有一种方法可以在不添加额外库的情况下在javascript中取消gzip文件


实际上,除此之外,还有一个可能的解决方案:创建一个浏览器扩展,在服务器响应中注入一个适当的头,您不需要库,但需要将扩展分发给用户。可能更糟,但仍然可以工作。

据我所知,你不能强迫浏览器使用javascript取消gzip页面,因为你无法控制浏览器如何呈现页面。我发出get-ajax请求获取文件,这很好,但如果服务器没有输出与内容编码匹配的头,我相信你必须手动取消gzip。我认为问题是手动取消gzip,通过ajax请求获取的资源不是整个页面。提供应用程序可用gzip支持的原因之一是其他协议,如Web套接字。这肯定会有帮助。我并不反对压缩的想法,但它并不存在。但是有一种web套接字解决方案,