我正在开发一个ajax长轮询类型的应用程序,我想最大限度地减少我使用的带宽量。目前最大的成本之一是客户端 HTTP header 。一旦我建立了连接并在客户端上存储了 session ID,我真的不想再浪费任何带宽来传输冗余的 http 信息(例如浏览器类型、接受编码等)。经过多次连接,很快就会积累大量数据!
我真的很想只获取我的 XMLHttpRequest 并删除所有 header ,以便仅将绝对最小的 header 传输到服务器。可以这样做吗?
最佳答案
您对请求 header 几乎没有控制权,但您仍然可以做一些事情 -
- 减小 cookie 的大小。一般来说,您只需要 session ID,其他所有内容都可以消除并存储在服务器端。
- 通过保留短 URL 来最大限度地减少 http 引荐来源网址。页面 URL 越长,通过 http 引用发送的数据就越多。一种技巧是将数据存储在片段标识符(# 后面的 url 部分)中。片段标识符永远不会发送到服务器,因此您可以在那里节省一些字节。
- 某些请求 header 仅在您之前设置了相应的响应 header 时才会发送。例如,您can indirectly control the ETag and if-modified-since request headers .
关于javascript - 从 XMLHttpRequest 中删除 HTTP header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5159166/