javascript - 从 XMLHttpRequest 中删除 HTTP header

标签 javascript ajax http xmlhttprequest

我正在开发一个ajax长轮询类型的应用程序,我想最大限度地减少我使用的带宽量。目前最大的成本之一是客户端 HTTP header 。一旦我建立了连接并在客户端上存储了 session ID,我真的不想再浪费任何带宽来传输冗余的 http 信息(例如浏览器类型、接受编码等)。经过多次连接,很快就会积累大量数据!

我真的很想只获取我的 XMLHttpRequest 并删除所有 header ,以便仅将绝对最小的 header 传输到服务器。可以这样做吗?

最佳答案

您对请求 header 几乎没有控制权,但您仍然可以做一些事情 -

  1. 减小 cookie 的大小。一般来说,您只需要 session ID,其他所有内容都可以消除并存储在服务器端。
  2. 通过保留短 URL 来最大限度地减少 http 引荐来源网址。页面 URL 越长,通过 http 引用发送的数据就越多。一种技巧是将数据存储在片段标识符(# 后面的 url 部分)中。片段标识符永远不会发送到服务器,因此您可以在那里节省一些字节。
  3. 某些请求 header 仅在您之前设置了相应的响应 header 时才会发送。例如,您can indirectly control the ETag and if-modified-since request headers .

您可能需要考虑Web SocketsSupport is pretty good (IE10+).

关于javascript - 从 XMLHttpRequest 中删除 HTTP header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5159166/

相关文章:

jquery - 如何将此 js 数组传递到我的 MVC 3 Controller ?

javascript - jQuery - ajax 返回未知数字

node.js - 如何 gzip node.js 服务器的 http 请求发布(客户端)数据

javascript - 以 Angular 实现交互式弹出窗口/标注

javascript - 将单词拆分为音节

javascript - Ajax 分配的变量在分配后无法访问

node.js - 在Node.js中将图像转换为Uint8Array

http - 检查 url 中的数据自上次以来是否已更改?

javascript - 使用每个项目的数据字符值按数字和字母顺序对 UL 进行排序

javascript - 通过 $compile 方法的指令共享范围