问题标签 [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 投票
2 回答
7229 浏览

php - 带有上下文的 file_get_contents() 使用 http/1.1 下载速度显着降低

使用每个图像下载下方的代码) file_get_contents() )平均需要 8-15 秒.....

如果我不在 file_get_contents() 上使用上下文,则图像下载不到一秒。

如果我将 $opts 更改为,那么我将在没有上下文的情况下获得与 file_get_contents() 相同的性能,这需要大约 13 秒来处理 2,500 个图像x。

复制:

0 投票
2 回答
6641 浏览

http-headers - 为什么 Wget 在其 HTTP 请求中有 Host Header?

HTTP/1.0 和 HTTP/1.1 之间的主要区别在于 HTTP/1.1 中有一个强制性的 Host标头(来源:HTTP Pocket Reference - O'reilly)。

那么,为什么那个使用 HTTP/1.0 协议的 Wget 里面有一个主机头呢?

我使用netcat的 Wget 输出:

明明Wget使用的是HTTP/1.0协议版本,怎么会有host头呢?还是我对 HTTP 协议的理解有问题?

即使 HTTP/1.0 可以在其 HTTP 请求中包含 Host Header,wget 使用 HTTP/1.0 协议而 HTTP/1.1 也可以代替它的原因是什么?

0 投票
2 回答
2271 浏览

http - 使用 HTTP 1.0 是不好的做法吗?

我正在实现一个用于与 Web 服务通信的基本 http 客户端,我想知道我应该使用 http 1.0 还是 1.1。数据部分将由二进制数据组成,远程服务器将始终由我控制(运行 IIS7.5)。中间的防火墙/代理不是我控制的,即。如果使用了错误的 http 版本,则不能停止数据包。

我一直在阅读http 1.0 和 1.1 之间的区别,在我看来,http 1.0 支持我需要的一切。

如果我选择 http 1.0 而不是 1.1,我会遇到问题吗?或者我可以假设一切都会一样好?

让我想知道的是,如果我通过原始套接字连接到 IIS7.5 并发送一个 http 1.0 获取请求,那么响应始终是 http 1.1。

0 投票
2 回答
993 浏览

php - 使用保持活动连接 (HTTP 1.1) 在 PHP 中创建类似 ftp 的会话

我正在寻找一种方法来跟踪跨请求保持活动状态的 HTTP 1.1 连接,以便获得类似 ftp 的会话。这个想法是在第一次请求时进行身份验证,然后在套接字仍然打开时保持身份验证有效(使用 HTTP 1.1 保持活动功能)。

直到这里,我一直在寻找这样的解决方案,但没有取得多大成功。

我正在寻找信息,例如:

  • PHP 中的某个地方是否有可从 apache 获得的套接字 ID?
  • 是否有允许向 HTTP 1.1 连接添加信息的模块(可以从 PHP 中使用的东西)?

还有什么想法吗?

0 投票
5 回答
24624 浏览

node.js - response.write 的 Node Js 问题

当我出于某种原因尝试使用 http 流连接时,写入不会刷新,直到我调用 response.end()
我直接从演示中获取代码并且不明白我的问题是什么。
当我卷曲到服务器时,我的标题是正确的。

为什么服务器不发送写入数据?

0 投票
0 回答
515 浏览

algorithm - 您将如何设计一个完全支持 HTTP 1.1 keep-alive 的代理服务器?

似乎连 nginx 也只有一半支持 HTTP 1.1 keep-alive 请求:

它是一个 HTTP/1.0 代理,还没有保持活动请求的能力。(因此,每个请求都会创建和销毁后端连接。)Nginx 将 HTTP/1.1 与浏览器通信,将 HTTP/1.0 与后端服务器通信。因此,它处理浏览器的保持活动。(来源

如果是你,你会如何实现这个?

我认为最困难的部分是如何使响应与保持活动模式下请求的顺序相同。

0 投票
1 回答
659 浏览

firewall - 防火墙是持久 http 连接的瓶颈吗?

我正在构建一个客户端服务器应用程序,其中客户端将使用长期存在的 http 会话将数据从服务器推送到客户端(有时称为 http 推送、反向 ajax、服务器推送、长轮询、http1.1 等。 )

如果我可能有数千个或数十万个客户端都保持与服务器环境的开放连接,如果防火墙/负载均衡器打开时间过长,是否有通用策略终止会话?防火墙/负载均衡器是否有可扩展性限制,它们只能托管最大数量的打开连接(即使没有发送数据)?

我希望防火墙和负载平衡器具有 Http 1.1 的功能,可以在不占用 CPU 和内存资源的情况下保持会话打开。如果不是这种情况,那么防火墙是并发打开的并发连接数的瓶颈。

0 投票
1 回答
23148 浏览

http - 为什么 Connection: keep-alive 仍然在 http 标头中指定(不是已弃用)?

根据“HTTP:权威指南”,使用

指定持久连接在 HTTP/1.1 中已弃用,因为 HTTP/1.1 指定默认连接是持久的,必须通过发送手动关闭


因此,我的简单假设是“连接:保持活动”不应该再使用了。然而,它似乎仍然活得很好。例如,在以下查询中返回 keep-alive:

我的问题是:为什么仍然在 HTTP 标头中指定 Connection: keep-alive?

一个必然的问题是:截至 2011 年,是否仍有(客户端、服务器、代理等)仍然只使用 HTTP/1.0 及其变体,或者大多数此类实体在 HTTP/1.1 上?

以下是我的工作假设:

1) HTTP/1.0 不再使用,b/c 那是“很多年前”

2)鉴于(1),不应该再使用keep-alive,但这纯粹出于退化的原因(也就是说,某些技术没有费心将其删除,或者将其保留为巫毒代码等)

如果 (1) 不正确,并且 HTTP/1.0 仍在使用中,那么尽管有关于 HTTP 1.0-1.1 互操作的后续问题,但继续使用 keep-alive 似乎是合理的。

提前感谢您分享的任何见解!

0 投票
1 回答
827 浏览

http - 超时时如何在http服务器和浏览器端发出优雅的关闭?

在 http1.1(http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html)中,它说:

当客户端或服务器希望超时时,它应该在传输连接上发出正常关闭。客户端和服务器都应该不断地观察传输关闭的另一端,并在适当的时候做出响应。

我的问题是:超时时如何在http服务器和浏览器端发出优雅的关闭?

0 投票
1 回答
21757 浏览

webdav - WebDAV - 请求“显示文件夹中的文件”?

我想从 WebDAV 共享中下载所有 *.txt 文件。是否有从该文件夹获取文件列表的请求/方法?

我是 WebDAV 的新手,在 w3.org WebDAV 方法定义中我没有找到此信息。 http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3