非串行管道 HTTP 可能吗?

2024-01-04

RFC 2616第8.1.2.2节 http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8.1.2.2 states:

支持持久连接的客户端可以“管道”其请求(即发送多个请求而不等待每个响应)。一台服务器MUST发送对这些请求的响应以相同的顺序请求已收到。

串行响应是often弊大于利,因为串行响应实际上要求服务器做更多的事情加工 https://devcentral.f5.com/weblogs/macvittie/archive/2009/04/02/http-pipelining-a-security-risk-without-real-performance-benefits.aspx并抵消了通过管道获得的性能优势。

例如,如果 HTTP 客户端请求文件 1.jpg、2.jpg、3.jpg、4.jpg 和 5.jpg,则无论 3.jpg 在 1.jpg 之前返回,还是 4.jpg 都没有关系。 .jpg 在 3.jpg 之前返回。客户只是希望尽快得到答复,any order.

HTTP 客户端如何才能获得管道传输的好处,同时又不用承受响应队列的缺点?


客户端无法规避 HOL 队列,因为它是 RFC 2616 的一部分。管道的唯一好处(在我看来)是在极其具体和狭窄的情况下。考虑:

R1cost = Request A processing cost.
R2cost = Request B processing cost.
TCPcost = Cost of negotiating new TCP connection.

因此,在以下特定情况下使用管道是可行的:

R1costR2costTCPcost

有多少次请求比前一个请求更昂贵并且比协商新的 TCP 连接更便宜?不经常。我想补充一点,Websockets(到目前为止)是一个更有趣和更合适的解决方案(就并行后端处理而言)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

非串行管道 HTTP 可能吗? 的相关文章

  • 是否有管理 __utma、__utmz 等 cookie 的标准?

    无论我登录 Facebook 还是 Twitter 我都会受到以下名称的 cookie 轰炸 utma utmb utmc utmv 它们的功能是什么 是否有一个标准来管理这些在服务器端的使用方式 这些 cookie 通常与谷歌分析 htt
  • org.apache.http 软件包在 API 级别 23 中被删除。替代方案是什么?

    在更新到最新的 android API 级别 23 Marshmallow 后 通过 build gradle 添加以下更改后 所有 org apache http 类都不起作用 android compileSdkVersion 23 b
  • 在 Flex 中以 HTTP Post 方式上传任意数据

    我们目前有一个 Java 小程序 可以生成大量数据并将其上传到我们的服务器 我们拥有的上传方法之一是使用 HTTP POST 到我们的服务器 其内容只是原始数据 没有多部分编码或任何内容 我正在考虑实现一个具有相同功能的 Flex 应用程序
  • HTTP部分上传、断点续传的标准方法

    我正在开发 http 客户端 服务器框架 并寻找处理部分上传的正确方法 与使用带有 Range 标头的 GET 方法进行下载相同 但是 HTTP PUT 并不打算恢复 据我所知 PATCH 方法不接受 Range 标头 有没有办法通过 HT
  • 外部依赖错误的 HTTP 状态代码

    当服务器与外部 API 通信出现问题时 返回的正确 HTTP 状态代码是什么 假设客户端向我的服务器 A 发送有效请求 然后 A 查询服务器 B 的 API 以便执行某些操作 然而 B 的 API 当前抛出 500 错误或因某种原因无法访问
  • 在golang中获取TTFB(第一个字节的时间)值

    我正在尝试获取 TTFB 值和 Connect 值 c exec Command curl w Connect time connect TTFB time starttransfer Total time time total o dev
  • HTTP代理服务器

    我开始研究一个用 C 编写的非常基本的 HTTP 代理服务器 Edit 只是转发我的请求的东西 此时我很难理解如何继续 任何帮助都会有益的 看一眼micro proxy http acme com software micro proxy
  • 返回重定向作为对 Ajax(fetch、XHR 等)请求的响应

    如果浏览器收到对 ajax 请求的重定向响应 会发生什么 如果浏览器收到对 ajax 请求的重定向响应 会发生什么 如果服务器发送重定向 又名 302 响应加上 Location 标头 浏览器将自动遵循重定向 对此的回应second请求 假
  • 当会话令牌无效时,我应该使用什么状态代码?

    创建 Web 服务 RESTful 时 当会话令牌无效时我应该使用什么状态代码 目前我公司的人给我发了一个404 未找到 但我认为这是不正确的 因为资源存在 也许我应该使用 401 Unauthorized 你怎么认为 您建议我在这种情况下
  • 从 HTTP 登录到 HTTPS

    我的网站默认使用 HTTP 我确实有一个启用 HTTPS 的证书 但只有其上的某些区域强制建立安全连接 登录是通过 Ajax 处理的 我想开始使用 SSL 即使请求来自 HTTP 我尝试强制请求的地址具有 HTTPS 并且它完美地回复 然而
  • 浏览器显示 clojure 环中不存在 access-control-allow-origin 标头

    我通过客户端浏览器向服务器发出请求 如下所示https example com bar https example com bar 但出现错误 Access to XMLHttpRequest at https example com ba
  • 网站(Google 和/或您)应如何处理 Accept-Language 标头?

    很长一段时间以来 我对谷歌在以下情况下的行为并不满意 并且在无意中注意到之后80 其他人 https stackoverflow com questions 1011167 what are common ui misconceptions
  • 过滤条件的查询字符串与资源路径

    背景 我有2个资源 courses and professors A course具有以下属性 ID topic 学期号 年 部分 教授 id A professor具有以下属性 ID 学院 超级用户 名 姓 所以 你可以说一门课程有一位教
  • 是否可以使用 PHP 重定向发送 POST 数据?

    更新 这不是重复的如何使用 PHP 发送 POST 请求 https stackoverflow com questions 5647461 how do i send a post request with php 那里的解决方案对我不起
  • 在 HTML 表单中使用 PUT 方法

    我可以在 HTML 表单中使用 PUT 方法将数据从表单发送到服务器吗 根据HTML标准 https www w3 org TR html5 sec forms html element attrdef form method 你可以not
  • OAuth2 - 无需用户交互即可授权

    因此 我尝试通过外部应用程序的 API 访问我自己的数据 我只需要访问我自己的数据 不尝试从我的任何用户帐户接收数据 因此他们不需要授权任何内容 显然我需要避免任何重定向 随着我对 OAuth 的研究越多 这似乎是标准流程 该过程被击中 a
  • 错误:未指定默认引擎且未提供扩展名

    我正在使用 node js 和引擎设置 http 服务器 但是 我不断遇到一些问题 我对如何解决这个问题知之甚少 我希望能得到一些帮助来解决这个问题 Error No default engine was specified and no
  • HTTP 状态代码 300(多项选择)的确切响应结构是什么?

    当用户单击我网站上的绘图链接时http mysite com some drawing 我希望我的服务器响应状态代码 300 和两个资源位置 http mysite com some drawing png and http mysite
  • 通过 HTTP 代理进行 iOS XMPP 聊天

    我有一个 iPhone 应用程序 可与 2 项服务配合使用 通过 http 使用 REST 服务 使用 AFNetworking 通过 TCP 进行 XMPP 聊天 使用 XMPPFrameworkhttps github com robb
  • MongoDB 的简单 HTTP/TCP 健康检查

    我需要为 Docker 容器内的 MongoDB 实例创建运行状况检查 尽管我可以采取解决方法并通过 CLI 使用 Mongo Ping 但最好的选择是创建一个简单的 HTTP 或 TCP 测试 标准 ping 测试中默认 27017 端口

随机推荐

  • 将数字向下舍入到最接近的十次方

    我有一个数字 我需要将其四舍五入到最接近的十次方 看起来这应该是可能的 不需要一大堆 if 语句或使用递归或循环 但我不知道最优雅的方法 如果不清楚我的意思 这里有一些例子 f 1 1 f 5 1 f 15 10 f 43 10 f 456
  • 如何获取当前 TensorFlow 名称范围

    我创建相对名称范围tf name scope 如何获取当前的绝对名称范围 从代码来看 它看起来像tf get default graph name stack会给我这个 但这看起来像是一种非官方的方式 有官方的方法吗 我认为不是 因此我做了
  • iPad 2 Safari 显示像素化 html 文本和图像

    我们正在为 iPad 和 iPhone 开发 HTML5 CSS3 应用程序 该应用程序在 iPad 和所有 iPhone 上运行良好 但是 iPad 2 在启动时显示 html dom 对象像素化 并且保持这种状态 有时总是这样 有时会持
  • FailedPreconditionError:表已初始化

    我正在使用数据集 api 从 tfrecords 读取数据 我正在使用以下代码将字符串数据转换为虚拟数据 SFR1 tf feature column indicator column tf feature column categoric
  • 当内容中包含 .com 时,链接在 标记中不起作用

    在我的代码中 我生成了 html 电子邮件消息的正文 其部分内容如下 a href mylink pl SomeName com a 当我在邮件客户端或 Gmail 中收到此电子邮件并单击链接时 我将被定向到SomeName com而不是到
  • 调用约定和评估顺序[重复]

    这个问题在这里已经有答案了 我知道 C 没有指定参数传递给函数的顺序 但是如果我们写下面的代码 void cdecl func int a int b int c printf d d d a b c int main int i 10 f
  • 会话超时后如何重定向到主页

    我正在开发一个网站 我想在会话超时后重定向到主页 谁能帮我解决这个问题 http csharpdotnetfreak blogspot com 2008 11 detecting session timeout and redirect h
  • Java2MySQL > 再次因底层异常导致通信链路失败

    我正在用Java编写程序 它连接到MySQL数据库 由于第一类是具有单个静态方法返回的类java sql Connection 调试完毕并连接正常后 我再也没有碰过它 几天前 我发现我的程序返回了这个错误 com mysql jdbc Co
  • 您需要关闭 HTML 中的元标签和链接标签吗?

    我只是在阅读某人的 HTML 他从未在 HTML head 部分关闭元标记和链接标记 代码运行良好 关闭这些标签是可选的吗 我认为如果标签没有关闭 它就会格式错误 A tag必须始终由标签关闭符号关闭 gt 如果我们忽略某些名义上适用于非
  • c/c++中void指针的用法

    嘿 我想知道如何在现实世界中应用空指针来使软件更安全 更灵活 例如 我知道 void 指针 它将转换到什么指针对外部是隐藏的 这将使软件更安全 您使用 void 指针还有其他原因吗 空指针不会使软件变得更安全 在 c 中使用 void 的原
  • 如何在调用 Live Keyup 事件后延迟执行 Javascript 函数?

    嘿程序员 我已经从下面的函数中删除了所有内容 以准确定位我需要帮助的内容 调用 keyup 事件后 reloadContent 函数将进行 ajax 调用以从数据库收集新数据 唯一的问题是 我的服务器超载 因为 keyup 事件没有延迟 每
  • 用于管理 Razor 部分视图脚本的 HtmlHelpers

    我正在尝试使用For 循环 Html 助手 http www nuget org packages Forloop HtmlHelpers 用于管理我的 ASP Net MVC 4 项目中 Razor 部分视图的脚本 div class r
  • 为什么我的 NSOperation 子类永远不会完成?

    我有一个NSOperation我想同时运行的子类 我的理解是 要使并发操作起作用 我需要定义isConcurrent回来YES 我需要定义start method 我需要发送 KVO 通知isExecuting and isFinished
  • Rspec :存根 ActiveStorage 下载方法

    我开发的系统使用 ActiveStorage 将缓存数据存储在 S3 上 然后再将其用于其他用途 在我的规范中 我想存根该文件的下载方法 并加载特定文件以进行测试 allow user cached data to receive down
  • CLion 索引器无法解析项目目录中的某些包含内容

    我有一个 CLion C 项目 其结构如下 project gt my includes gt my own hpp gt source gt my app gt my src cpp my src cpp 的第一行是 include my
  • 常规方法和异步方法有什么区别(OnGet 与 OnGetAsync)

    我开始学习 Razor Pages 的工作原理 教程提到了 OnGet 和 OnPost 还提到我们也有异步选项 OnGetAsync 和 OnPostAsync 但他们没有提到它们是如何工作的 显然它们是异步的 但是如何呢 他们使用 AJ
  • Mercurial:将变更集推送到仓库 A,不知何故仓库 B 也有它?

    我在服务器上有一个名为 Gold 的存储库 作为我的生产存储库 在服务器上有一个名为 Silver 的存储库 充当开发存储库 然后显然在我的本地客户端上有一个或多个存储库 奇怪的是 当我将变更集从本地开发机器推送到 Gold 时 Silve
  • 如何在oracle中插入日期和时间?

    我在表中插入行时遇到问题 这是插入语句和表创建 这是大学作业的一部分 因此很简单 我做错了什么 我使用的是 Oracle SQL Developer 版本 3 0 04 我遇到的问题是它只插入 dd mon yy 而不是时间 我如何让它也插
  • 类型“{}”不可分配给类型“IntrinsicAttributes & IntrinsicClassAttributes”

    我目前正在制作一个简单的反应应用程序 这是我的index tsx import as React from react import as ReactDOM from react dom import App from components
  • 非串行管道 HTTP 可能吗?

    RFC 2616第8 1 2 2节 http www w3 org Protocols rfc2616 rfc2616 sec8 html sec8 1 2 2 states 支持持久连接的客户端可以 管道 其请求 即发送多个请求而不等待每