我正在开发一个 ajax 长轮询类型应用程序,我想最大限度地减少我使用的带宽量。目前最大的成本之一是客户端 HTTP 标头。一旦我建立了连接并在客户端上存储了会话 ID,我真的不想再浪费任何带宽来传输冗余的 http 信息(例如浏览器类型、接受编码等)。经过多次连接,很快就会积累大量数据!
我真的很想只获取我的 XMLHttpRequest 并删除所有标头,以便只有绝对最少的标头传输到服务器。是否有可能做到这一点?
您对请求标头几乎没有控制权,但您仍然可以做一些事情 -
- 减小 cookie 的大小。一般来说,您只需要会话 ID,其他所有内容都可以消除并存储在服务器端。
- 通过保留短 URL 来最小化 http 引荐来源网址。页面 URL 越长,通过 http 引用发送的数据就越多。一种技巧是将数据存储在片段标识符(# 后面的 url 部分)中。片段标识符永远不会发送到服务器,因此您可以在那里节省一些字节。
- 仅当您之前设置了相应的响应标头时,才会发送某些请求标头。例如,你可以间接控制 ETag 和 if-modified-since 请求头 http://calendar.perfplanet.com/2010/bloated-request-response-headers/#comment-914.
您可能需要考虑网络套接字 http://en.wikipedia.org/wiki/WebSockets. 支持非常好(IE10+)。 http://caniuse.com/websockets
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)