问题标签 [http-1.1]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3254 浏览

http - Safari 发送两个 HTTP 请求。同一时间/套接字

我有一个 iPad Safari 在 30 毫秒内发送两个 HTTP 请求(两个不同的 PNG)文件。

我认为即使在 Keep Alive HTTP 1.1 连接上,也应该有明确的请求/响应序列。

我看到的是 Safari 浏览器在 30 毫秒内发送了两个 GET 请求,而无需等待答案。这会导致某些 Web 服务器出现问题。

情况:我有一个 HTML5 加载 SVG 并进一步引用其他图像(如 PNG 和 GIF)。该问题不会出现在 iPhone 5 上,而是出现在 iPad 上。

请参阅此 wireshark 转储: http ://tinyurl.com/c7m37b9(第 116/117 帧)

iPad (1) 信息:版本 5.1.1 (9B206) 型号 MB2292FD Safari 5.1

0 投票
1 回答
3587 浏览

python - 将 HTTP/1.1 与 SimpleHTTPRequestHandler 一起使用

当我将 HTTP/1.1 与 SimpleHTTPRequestHandler 一起使用时,加载一个拉入其他资源的页面将在第二个资源之后挂起。

这是一个小型复制器:

使用上述服务器,当浏览器尝试加载时,以下 HTML 将挂起b.png

HTTP/1.1 可以与 SimpleHTTPServer 模块一起使用吗?如果可以,如何使用?请注意,将 ForkingMixIn 或 ThreadingMixIn 添加到服务器将允许事情进行,但是,似乎没有这些 mixin 中的任何一个都应该是可能的。

0 投票
1 回答
1768 浏览

perl - Perl LWP::UserAgent 请求不使用 http1.1 返回但使用 http1.0 工作正常!?为什么?

我有一个非常简单的脚本(在 SLES11 系统上)将 http1.1 请求发送到服务器。这工作了很长时间。几天后它停止工作。我不知道为什么。经过一番调查,我发现强制脚本使用 http1.0 它又可以工作了。我不知道为什么。我想知道为什么它不能在默认的 http1.1 模式下工作。

据我所知,我已经启用了调试(请参见下面的代码)。但我什么也没看到——我的脚本挂了。没有网络活动。我看不到一个套接字将是openend(netstat -a),我也看不到服务器上来自我的客户端的任何传入流量。(“telnet myserver myport”工作正常。)

有人可以帮我解决这个问题吗?如何启用更多调试以查看真正的问题在哪里?

$ua->request() 不返回!我需要杀死/^C 脚本!

编辑:好的,似乎没有人知道如何继续。所以我开始使用 perl 调试器调试它。

所以我可以看到它没有从 request() 返回。

无论如何,由于LWP::UserAgent调用HTTP::Request::Common我将上面的示例代码更改回用于HTTP::Request::Common在调试时跳过该步骤的事实。

好的...新结果:

在 request() 里面它挂在IO::Socket::SSL. 意味着,此脚本足以进行进一步调试:

此声明不会回来。

再往下,里面IO::Socket::SSL挂着:

啊啊啊!已经有一个关于这个问题的错误报告:Net-SSLeay 挂在 Suse 11 P2 上,指向错误 #81575,上面写着:

我在安装了 openssl-0.9.8j 的 SLES 11 SP2 上遇到了同样的问题。升级到 openssl-0.9.8r 确实解决了这个问题。... 0.9.8r 的包可以在这个存储库中找到:http: //download.opensuse.org/repositories/security :/fips/

猜就是了!

0 投票
1 回答
1331 浏览

websocket - CometD 长轮询是否使用持久连接?

关于 CometD 的长轮询机制是使用持久连接,还是在向其推送消息后断开连接然后重新连接,我无法找到明确的答案。

这对我来说很重要的原因是我目前正在使用一个长轮询推送客户端,它在从服务器发送每条消息(或一批消息)后断开并重新连接,并且重新连接时间引入了我希望得到的随机延迟摆脱。我假设它这样做是为了兼容性,因为它使每次“推送”看起来就像一个非常长的请求/响应,它应该适用于任何浏览器。

那么,CometD 的长轮询是否使用持久的、长寿命的 http 连接?如果答案是肯定的,是有条件的吗?也就是说,是否存在每条发送的消息都会退回到“请求/响应/重新连接”的案例/浏览器?

0 投票
1 回答
506 浏览

http - 当我们使用分块属性时,保持连接活动属性是强制性的吗?

我的客户设置以下标头:

当我检索响应时,我收到一个Transfer-Encoding: chunked标题但没有Connection: Keep-Alive标题。出于这个原因,我相信我可能只收到我的客户的部分回复。

现在我的问题是:

是否必须设置 Connection: Keep-Alive 属性 HTTP/1.1

0 投票
1 回答
2575 浏览

ajax - 期望:100-Continue 标头与 XmlHTTPRequest

如何强制 XmlHttpRequest 添加 Expect: 100-continue 标头?如何在桌面浏览器世界中使用此功能?

这是 TCP 转储输出部分

0 投票
1 回答
6331 浏览

http - HTTP/1.1 响应多个范围

在编写我的 HTTP/1.1 服务器时,我在处理多个范围请求时遇到了困难。

RFC 2616 的第 14.35.1 节引用了一些示例,但并未阐明服务器行为。例如:

我应该返回这个确切的字节序列吗?或者我应该合并所有范围,发送100-400,500-600?或者在两者之间发送所有,100-600

最糟糕的是,在检查Content-Range响应头(第 14.16 节)时,可能只返回一个范围,所以我想知道服务器如何响应第 14.35.1 节中的示例bytes=0-0,-1!!!

我的服务器应如何处理此类请求?

0 投票
1 回答
763 浏览

c - HTTP 请求被拒绝(3xx 4xx 响应)

在阅读了 HTTP 1.1 的用法后,我决定提出这个问题。我不明白为什么我什至无法访问 www.google.com 。它每次都给出 3xx 到 4xx(几乎所有错误)错误。我已经在 HTTP/1.1 中尝试了这些 GET HOST CONNECT 事物的所有组合,但仍然无法理解。为什么我的连接被拒绝/抛出/假定为不安全?

实际上我想使用 HTTP/1.1 获取任何网站的 html 代码。指导我,哪里出了问题,我该怎么办?我已经在这个代码上停留了 6 个小时:S

注意:如果我能在任何地方找到答案,我会添加。

0 投票
0 回答
360 浏览

http - http 1.1 持久连接

Http 1.1 使用持久连接,因为它具有使用同一连接发送多个 http 请求的优势。我担心的是以下指南:

您必须调用 Close 方法来关闭流并释放连接。不这样做可能会导致您的应用程序连接不足。

如果同一连接用于多个httprequest,为什么我应该在收到响应后关闭流或连接?我正在为同一个 Internet 资源触发多个 httprequest,那么为什么每次收到响应时都要关闭连接/流/响应?

0 投票
1 回答
587 浏览

ios - 使用 AFNetworking 的 AFHTTPRequestOperation 读取状态行(状态代码和原因短语)

我正在从 iOS 应用程序切换ASIHTTPRequestAFNetworking

RF2616 (HTTP/1.1)通过“状态代码”和“原因短语”的组合定义了一个“状态行”。有时服务器会在这个“原因短语”中添加一些特定信息,我发现 ASIHTTPRequest 允许我通过以下方式轻松访问它相当方便

我的问题是我找不到任何方法来做到这一点AFHTTPRequestOperation

在操作的完成/失败块中,我可以通过执行以下操作获取状态代码:

但我找不到从哪里得到“原因短语”。

StackOverflow 上的一些答案表明它将位于其中一个条目中,[operation.response allHeaderFields]但事实并非如此。

对这个问题的回答 << Can I access "Reason Phrase" from the HTTP Status-Line in NSHTTPURLResponse >> 建议更改服务器的行为方式,但这并不总是可用的选项。

任何想法?