从 XMLHttpRequest 中删除 HTTP 标头

2024-03-16

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

我真的很想只获取我的 XMLHttpRequest 并删除所有标头,以便只有绝对最少的标头传输到服务器。是否有可能做到这一点?


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

  1. 减小 cookie 的大小。一般来说,您只需要会话 ID,其他所有内容都可以消除并存储在服务器端。
  2. 通过保留短 URL 来最小化 http 引荐来源网址。页面 URL 越长,通过 http 引用发送的数据就越多。一种技巧是将数据存储在片段标识符(# 后面的 url 部分)中。片段标识符永远不会发送到服务器,因此您可以在那里节省一些字节。
  3. 仅当您之前设置了相应的响应标头时,才会发送某些请求标头。例如,你可以间接控制 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(使用前将#替换为@)

从 XMLHttpRequest 中删除 HTTP 标头 的相关文章

  • JSF - 在 ajax 调用上传递参数 - 这段代码有什么问题?

    当我进行 ajax 调用时 我需要将参数传递给 bean 我的豆子是这样的 ManagedBean RequestScoped public class Selector ManagedProperty value param page p
  • 尝试将布尔 C# 变量传递给 javascript 变量并将其设置为 true

    在我的 aspx 页面中 我将布尔变量 C 传递给需要布尔类型的 javascript 函数 但遇到了问题 但是 C 变量返回 True 而 javascript 不喜欢大写 myjavascript 如果我将 c 变量转换为字符串 那么我
  • jQuery UI 对话框 + 验证

    我在单击 保存 后使用 Jquery Validate 验证 jQuery UI 对话框时遇到问题 这是我创建 Jquery 对话框的代码 它从目标 href URL 加载对话框 document ready dialogForms fun
  • 如何重定向到 instagram://user?username={username}

    我的 html 页面上有这个链接 可以在特定用户上打开 Instagram 应用程序 a href Link to Instagram Profile a 我一直在寻找自动运行 url instagram user username USE
  • jqgrid删除:没有获取值

    我使用 JSP 和 Servlet IDE Eclipse 数据库 Oracle10 开发 Web 应用程序 我在用JQGRID以表格格式显示数据 我还想要添加 编辑 删除的功能JQGRID 到目前为止我已经完成了编辑功能 现在我想要Del
  • 我想检查 $('#td1').text() === "x" 是否?

    我想检查innerHtml是否有X或O 所以我不能再次添加任何其他东西 但它不起作用 添加检查代码后它就停止了 我在这里尝试做一个简单的XO游戏来更熟悉javascript和jquery 我也不确定是否可以用 jQuery 做到这一点
  • 检查 JavaScript 字符串是否为 URL

    JavaScript 有没有办法检查字符串是否是 URL 正则表达式被排除在外 因为 URL 很可能是这样写的stackoverflow 也就是说它可能没有 com www or http 如果你想检查一个字符串是否是有效的 HTTP UR
  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的
  • 如何将 Google Charts 与 Vue.js 库一起使用?

    我正在尝试使用 Vue js 库使用 Google Charts 制作图表 但我不知道如何添加到 div 这是我尝试做的 这是如何使用普通 javascript 添加图表 这是文档的代码示例 https developers google
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • 在javascript中解析json - 长数字被四舍五入

    我需要解析一个包含长数字的 json 在 java servlet 中生成 问题是长数字被四舍五入 当执行这段代码时 var s x 6855337641038665531 var obj JSON parse s alert obj x
  • Javascript 数组到 VBScript

    我有一个使用 Javascript 构建的对象数组 我需要使用 VBScript 读取它 如下例所示 我找不到在 VbScript 代码中循环遍历数组的方法myArray object 这个例子是我的问题的简化 我无法更改页面的默认语言 这
  • 为什么在 Internet Explorer 中访问 localStorage 对象会引发错误?

    我正在解决一个客户端问题 Modernizr 意外地没有检测到对localStorageInternet Explorer 9 中的对象 我的页面正确使用 HTML 5 文档类型 并且开发人员工具报告该页面具有 IE9 的浏览器模式和 IE
  • HTML 离线应用程序缓存,列出下载的文件

    作为我正在构建的离线 Web 应用程序的加载屏幕的一部分 使用缓存清单 http developer apple com library safari documentation iPhone Conceptual SafariJSData
  • FireFox 中的自动滚动

    我的应用程序是实时聊天 我有一个 Div 来包装消息 每条消息都是一个 div 所以 在几条消息之后 我的 DOM 看起来像这样 div div Message number two div div div div
  • Javascript转换时区问题

    我在转换当前时区的日期时间时遇到问题 我从服务器收到此日期字符串 格式为 2015 10 09T08 00 00 这是中部时间 但是当我使用 GMT 5 中的 new Date strDate 转换此日期时间时 它返回给我的信息如下 这是不
  • 条件在反应本机生产中失败,但在开发中有效

    我创建了一个反应本机应用程序 我需要通过它进行比较 如果属实 就会执行死刑 问题是 该条件适用于 React Native 开发模式 而不适用于 React Native 生产版本 我使用 firebase 作为数据库 也使用 redux
  • Javascript 纪元时间(以天为单位)

    我需要以天为单位的纪元时间 迄今为止 我已经看到过有关如何翻译它的帖子 但几天后就没有了 我对纪元时间很不好 我怎么能得到这个 我需要以天为单位的纪元时间 我将解释为您想要自纪元以来的天数 纪元本身是第 0 天 或第 1 天的开始 无论您如
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示

随机推荐

  • Azure 网站 Kudu 发布因超时而失败

    我为我的 azure 部署定义了一个自定义部署脚本 sh 脚本 就在今天 我发现我无法发布 我更新了我的 bitbucket 存储库 过了一会儿 我收到类似于以下内容的错误 Command starter cmd deploy pvl co
  • 如何防止express-ejs-layouts 包装我的其他页面?

    我正在寻找 Node js 的页面布局 例如php https laravel com docs 5 0 templates有他们的布局模板 非常完美 我想在node js中实现它 最后找到了这个快速 ejs 布局 https www np
  • 重叠金属点基元和混合

    我正在渲染部分重叠的点基元 片段着色器将每个点基元正方形的部分着色为透明 实心中心圆 不与任何其他点基元重叠的点基元将按预期着色 正方形的透明区域显示背景 当这样的点基元与另一个点基元重叠时 行为是意外的 具体来说 透明区域不显示周围点图元
  • 检查 Selenium 中的 HTTP 状态代码

    如何在Selenium中获取HTTP状态码 例如 所以我可以测试一下 如果浏览器请求 user 27并且不存在ID 27的用户 则返回HTTP 404 我的主要兴趣是 Selenium RC 但如果有人知道 正常 selenium 的答案
  • 如何显示加在一起等于零的行

    几周来一直在寻找解决方案 但一无所获 我有类似这样的数据表 client ref supplier key client amount 1111 GBP 10 1111 GBP 10 1111 EUR 50 2222 CHF 22 5 22
  • 画布内存使用总量超出最大限制 (Safari 12)

    我们正在研究一个可视化网络应用程序 https affinitymap epfl ch它使用 d3 force 在画布上绘制网络 但现在 iOS 上的浏览 器遇到了问题 在与界面进行几次交互后 进程就会崩溃 据我记得 这不是旧版本 iOS1
  • 未知的输入格式:'x11grab'

    guys 当我编译 ffmpeg 并在 linux 中运行 ffmpeg 时遇到问题 我的环境 1 ubuntu 17 10 x64 bit 我认为操作系统版本不是关键 2 gcc Ubuntu 6 3 0 19ubuntu1 6 3 0
  • 我的异步调用在 forEach 循环中填充列表之前返回

    我有一个例程 它从设备获取文件名列表 然后读取文件以构建列表 然而 调用例程总是返回零项 我打印文件名 所以我知道它们存在 但是 在我读取文件之前 异步似乎正在返回 我在进行 HTTP 调用时使用了类似的代码 但是 这里的某些事情导致例程返
  • 什么是 ./.local/share/Trash (Unix) [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在使用虚拟机来运行 Java Web 应用程序 操作系统是 XFCE Ubuntu 我使用命令找到了我想要的文件find name s
  • 奇怪的 GCC 错误:程序中出现杂散 '\NNN'

    我的开源库中出现了以下问题 我无法弄清楚发生了什么 我的两个用户有 GCC 编译器错误 如下所示 home someone Source src regex cpp 1 1 warning null character s ignored
  • 错误 ITMS - 90167 在包中找到的应用程序包数量

    在开始撰写有关该错误的文章之前 我正在 macOS Sierra 上运行并使用 Xcode 7 3 1 因此 我从我的应用程序创建一个存档 我验证该应用程序并通过验证 但在上传到应用程序商店时 我收到错误 错误 ITMS 90167 在包中
  • 从函数的签名中获取位置参数的名称

    使用 Python 3 x 我尝试从某个函数获取所有位置参数的名称 即 def foo a b c 1 return 现在我正在这样做 from inspect import signature empty args x for x p i
  • 使用 log4net 进行日志记录的最佳实践是什么?

    有人告诉我使用 log4net 将 日志记录 添加到我的代码中 问题是没有人可以及时旅行并查看日志记录需要用来解决哪些现实世界问题 因此 是否有一套关于记录哪些内容以获得合理的成本 收益权衡 所以 应该添加什么类型的日志记录 到一个有用的应
  • 更改 SweetAlert 上的图标图像大小

    我正在尝试更改 SweetAlert 上的图标图像大小 在 css 文件中我看到 sweet alert sa icon width 80px height 80px border 4px solid gray webkit border
  • 从 R Studio 中的 mclapply 打印

    我在 RStudio 中使用 mclapply 并希望从每个进程向控制台输出 但这似乎以某种方式被抑制 例如这里提到的 mclapply 是否保证按顺序返回其结果 https stackoverflow com questions 1469
  • 避免派生类 C++ 中的“纯虚函数调用”

    我对 C 相当陌生 所以如果这个问题的水平稍微低于这里的通常标准 我想道歉 我试图让几个类从具有虚拟函数定义的基类继承 然后我想创建一个 MainClass 数组 它可以包含所有派生类 以便输出派生 定义的虚拟功能 我收到错误 R6025
  • 检测 stdout 是否重定向到管道(而不是文件、字符设备、终端或套接字)?

    理想情况下 这可以在 shell 中编写脚本 但 Perl 或 Python 也可以 C 代码可能会有帮助 但可能不符合成本 效益 我认识到重定向到 FIFO 命名管道 可能与真实管道无法区分 这已经是我并不真正关心的边缘情况了 严格的 P
  • brew 安装 libusb 链接失败

    我正在安装libusb with brew在我的 Mac 中 酿造安装libusb 链接步骤失败 如下所示 Error The brew link step did not complete successfully The formula
  • API 级别低于 9 的 android:filterTouchesWhenObscured 的类似物

    从 API 级别 9 开始 有android filterTouchesWhenObscured属性及对应setFilterTouchesWhenObscured方法上ViewGroup 例如 当视图有onClickListener设置并且
  • 从 XMLHttpRequest 中删除 HTTP 标头

    我正在开发一个 ajax 长轮询类型应用程序 我想最大限度地减少我使用的带宽量 目前最大的成本之一是客户端 HTTP 标头 一旦我建立了连接并在客户端上存储了会话 ID 我真的不想再浪费任何带宽来传输冗余的 http 信息 例如浏览器类型