压缩HTTP
是否可以将请求数据以压缩格式从浏览器 POST 到服务器? 如果是,我们该怎么做?
Is it possible to POST request data from browser to server in compressed format?
If yes, How can we do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
浏览器本身不支持压缩从浏览器发送到服务器的数据。
您必须找到一种解决方法,使用客户端语言(可能是 JavaScript GZip 实现,或 Java Applet,或...)。确保向用户直观地显示浏览器正在执行的操作以及为什么需要一些时间。
我不知道您的应用程序的范围,但在公司网站上您可以将输入限制为压缩文件。要求您的用户上传 .zip/.7z/.rar/... 文件。
Compressing data sent from the browser to the server is not natively supported in the browsers.
You'll have to find a workaround, using a clientside language (maybe a JavaScript GZip implementation, or a Java Applet, or ...). Be sure to visually display to the user what the browser is doing and why it is taking some time.
I don't know the scope of your application, but on company websites you could just restrict input to compressed files. Ask your users to upload .zip/.7z/.rar/... files.
服务器->客户端响应可以由服务器自动进行gzip压缩。
压缩客户端->服务器消息不是标准的,因此需要您做一些工作。使用 JavaScript 在客户端压缩非常大的 POST 数据。然后在服务器端手动解压。
除非您的带宽使用是主要瓶颈,否则这通常不是一件有益的事情。压缩需要时间和 CPU 使用率才能执行。
The server->client responses can be gzip compressed automagically by the server.
Compressing the client->server messages is not standard, so will require some work by you. Take your very large POST data and compress it client-side, using JavaScript. Then decompress it manually on the server side.
This will usually not be a beneficial thing to do unless your bandwidth usage is a major bottleneck. Compression requires both time and CPU usage to perform.