如何压缩ajax请求的响应?

时间:2017-04-24 06:34:57

标签: javascript jquery ajax performance optimization

我将整个HTML作为ajax请求的响应(不仅仅是作为JSON的数组)。如您所知,响应将稍微大于(比JSON)。因为它包含更多的东西,比如html标签,html属性等...所以

  • 提高可扩展性(减少服务器负载)。
  • 减少网络带宽(降低成本)。
  • 更好的用户体验(更快)。

我想压缩响应。类似于.gzip格式的东西。基于这样的测试,这是ajax响应的大小:

enter image description here

这是压缩的ajax响应的大小:

enter image description here

请参阅?他们的尺寸差别很大。

我只想知道,是否有可能在途中压缩ajax请求的响应并将其转换为客户端的常规文本?为此,我需要在Web服务(如nginx)配置中进行一些更改吗?或者它自动完成?

2 个答案:

答案 0 :(得分:0)

您应该使用Lz-string方法压缩数据并使用ajax调用发送,并在响应时再次使用它解压缩

GITHUB链接:https://github.com/pieroxy/lz-string/

文档&用法:https://coderwall.com/p/mekopw/jsonc-compress-your-json-data-up-to-80

答案 1 :(得分:0)

您可能需要查看其他一些StackOverflow帖子,以及Wikipedia链接&关于Deflate& amp; gzip的。以下是一些供您细读的链接。他们有一些有趣的图表和其中的信息:

  1. StackOverflow: Why Use Deflate Instead of Gzip for Text Files Served by Apache
  2. StackOverflow: Is There Any Performance Hit Involved In Choosing Gzip Over Deflate For- HTTP.com
  3. Wikpedia: Deflate
  4. Wikipedia: Gzip
  5. Article: How to Optimize Your Site with GZip Compression
  6. RFC: Deflate