代码之家  ›  专栏  ›  技术社区  ›  Theofanis Pantelides

最小化响应/请求数据包

  •  1
  • Theofanis Pantelides  · 技术社区  · 14 年前

    我想缩小通过Ajax来回发送的数据,以便它发送/接收的数据更少。

    我将在每次响应/请求之前/之后对服务器端(C)和客户端(javascript)进行解压缩/压缩。

    最简单的方法是什么?

    所有通信都是通过JSON字符串(请求和响应)完成的。

    4 回复  |  直到 14 年前
        1
  •  2
  •   ChrisLively    14 年前

    最简单的方法是打开服务器上的HTTP压缩,让IIS和浏览器解决这个问题。

        2
  •  2
  •   Marc Gravell    14 年前

    这个 最简单的 这里要做的就是简单地启用现有JSON的HTTP压缩。

    不过,你可能会对它更具攻击性-例如,我没有玩过它,但几周前有人提到 javascript protocol buffers implementation . 让您的服务器返回一些原始字节(或者可能是base-64或hex),您可以看到一些显著的节省。不过,这需要对代码进行相当大的修改。

    注意:虽然我很熟悉原虫 通常地 我有 使用了该javascript实现。YMMV。

        3
  •  1
  •   Marcos Placona    14 年前

    我不建议您通过JSON发送太多的数据,但如果确实需要,我建议您gzip您的数据。

    这里有一篇关于它的好文章: http://www.west-wind.com/Weblog/posts/10564.aspx

    有了数据gPiped,您最多可以节省90%

        4
  •  1
  •   Pierre-Loic Doulcet    14 年前

    您可以在服务器端将“内容编码”设置为“gzip”,以编码HTTP流量:

    Response.AppendHeader("Content-encoding", "gzip");
    

    您可以在客户端和服务器端手动压缩JSON:

    对于客户端,您可以使用类似以下的库: http://jszip.stuartk.co.uk/

    对于服务器大小,可以使用.NET框架压缩/解压缩