压缩Http接头

时间:2009-09-05 17:15:02

标签: java http java-me header

我的实际数据是以字节为单位的HTTP请求标头大小的1/4  有没有办法减少HTTP标头的大小或任何其他相关的方式来处理这种情况? 我正在通过GPRS将数据从移动设备发送到服务器,并且不想承担大量的请求数据包,这会占用我的$$以及带宽。

4 个答案:

答案 0 :(得分:5)

嗯,什么占据了大部分标题?例如,Stack Overflow最近将大部分静态内容移动到另一个域,因此SO cookie不会包含在静态内容的请求中(无论如何都不会使用cookie)。

但是,如果大多数标题只是浏览器将始终发送的内容(用户代理等),那么您可以做很多事情。

答案 1 :(得分:3)

我从来没有必要通过砍掉标头来优化网站性能。也就是说,大多数问题都与:

有关
  1. 大量不需要的 GET请求。这通常是由于服务器没有将适当的到期和缓存标头发送回客户端。有时这是一个写得不好的应用程序。
  2. 正在打开大量TCP连接。当您能够保持连接活动并重复使用它以提供多个请求时,性能会提高。我不确定移动客户端是否支持活着。
  3. 压缩的使用,或缺乏压缩。如果有什么可以减少开支,那就是使用压缩。但是,我不太确定移动客户端是否能够支持压缩。顺便说一下,通常会对响应进行压缩,而不是对请求进行压缩(我知道的所有浏览器都不会压缩请求,尽管HTTP规范允许)。
  4. 如果在#3之后仍需要更好的性能,那么您的应用程序需要进行某种形式的性能设计审核。

答案 2 :(得分:2)

我将标题视为“架构”,即:“它们的确切内容根据要求因应用程序而异”。

获得确切的当前列表后,使用this post中提供的链接,
你可以看到你需要哪些,并避免发送其他人。

  

谁知道它是否会产生重大影响,但至少你可以放心,你已经在这个主题上做到了最好。

答案 3 :(得分:2)

嗯,这可能不受欢迎和/或实际上没有回答您的问题,但您是否对数据粒度有任何想法?

一旦您尽可能地减少了HTTP标头,我怀疑您仍然希望再降低标头/数据比率。显而易见的方法是在每个http请求中发送/接收多个数据项。

在客户端或服务器端添加逻辑层(或更改数据模型)将允许您以更大的块请求数据,这是基于在您请求时可能需要的其他数据来衡量单项。

重点是在每个请求中传输更多数据,以减少请求数量。带宽(和客户端存储)的浪费 - 来自传输您实际不需要的数据 - 最终可能比HTTP标头足迹更容易被接受。