Java 压缩Http头
我的实际数据是HTTP请求头大小的1/4(以字节为单位)。Java 压缩Http头,java,http,java-me,header,Java,Http,Java Me,Header,我的实际数据是HTTP请求头大小的1/4(以字节为单位)。 有没有一种方法可以减少HTTP头的大小,或者其他任何相关的方法来处理这种情况? 我正在通过GPRS将数据从移动设备发送到服务器,我不想被庞大的请求数据包所累,这些数据包会占用我的$$和带宽。那么,是什么占据了你大部分的头呢?例如,堆栈溢出最近将大多数静态内容移动到了另一个域,这样so cookie就不会包含在静态内容的请求中(该请求无论如何都不会使用cookie) 但是,如果大多数标题都是浏览器始终发送的内容(用户代理等),那么您就无能
有没有一种方法可以减少HTTP头的大小,或者其他任何相关的方法来处理这种情况?
我正在通过GPRS将数据从移动设备发送到服务器,我不想被庞大的请求数据包所累,这些数据包会占用我的$$和带宽。那么,是什么占据了你大部分的头呢?例如,堆栈溢出最近将大多数静态内容移动到了另一个域,这样so cookie就不会包含在静态内容的请求中(该请求无论如何都不会使用cookie)
但是,如果大多数标题都是浏览器始终发送的内容(用户代理等),那么您就无能为力了。我从未需要通过删除标题来优化站点性能。尽管如此,大多数问题都与以下方面有关:
如果你在第3步之后还需要更好的性能,你的应用程序需要某种形式的性能设计评审。
我认为页眉是“体系结构”,即:“它们的确切内容根据应用程序不同而不同。”
一旦您获得准确的当前列表,请使用,
您可以看到您需要哪些,并避免发送其他
嗯,这可能不受欢迎和/或实际上没有回答您的问题,但您对数据粒度有什么想法吗 一旦您尽可能地减少了HTTP头,我怀疑您仍然需要进一步降低头/数据比率。显而易见的方法是在每个http请求中发送/接收多个数据项 在客户端或服务器端添加一层逻辑(或对数据模型进行更改)将允许您请求更大的数据块,这取决于您在请求单个项目时可能需要哪些其他数据
关键是在每个请求中传输更多的数据,以减少请求的数量。bandwith(和客户端存储)的浪费——来自传输您实际上不需要的数据——最终可能比HTTP头占用更容易接受。我在这里问了一个关于HTTP请求头大小的问题()。这让我震惊!我的数据肯定比当时提到的数字要低得多post@Kevin没有什么令人震惊的。tcpdump extract中的大多数请求头都是服务器所必需的,以决定如何准备响应。@Vinet,有什么办法解决这个问题吗?“还是头上的行李不可避免呢?”凯文,这是不可避免的。我还没看过你的应用程序。但是,从你问的那个问题开始,你应该考虑用小提琴来判断什么是错的。如果有太多的GET请求,我不会感到惊讶,在这种情况下,解决方案不是减少头大小,而是减少此类GET的数量,并删除任何不需要发送的信息。@Kevin,neXpert性能优化工具可以与Fiddler一起安装,以便快速报告错误。我称之为性能烟雾测试。您可以在neXpert blog@+1上找到更多详细信息,这是一个好问题,您可以在“我正在从移动设备发送数据”上扩展您描述的设置吗?听起来您正在使用一些定制的应用程序(也是因为java和j2me标记)?如果是这样的话,如果您确信您的服务器端应用程序将不需要它们,那么您可能可以去掉像Accept-*这样的请求头,甚至可以去掉Host。您可以使用用户代理发送一些版本信息,以防服务器在将来的版本中需要更多详细信息。响应头也可能受到限制。那么:客户端和服务器都在您的控制之下吗?HTTP规范对您有多重要?@KLE,“在您描述的设置中,”很抱歉,我不明白这句话?@Arjan:是的,客户端和服务器都在我的控制之下。HTTP规范,我认为不太重要,只要服务器和客户端通信工作良好。我没有考虑数据粒度感谢它把它吸引到我的注意。但这确实是一个很好的观点!