发送 HTTP 1.0 请求以避免处理块

Sending HTTP 1.0 request to avoid handling chunks

我的问题:

发送 HTTP 1.0 GET 请求以避免分块响应是否安全? 是否所有现代 Apache/NGinx 安装都能很好地处理我的 HTTP 1.0 请求?

一些上下文:

我正在开发一个超级简单的 Http 客户端。 这个客户端应该从一些给定的服务器获取超级简单的数据(1 到 10 个字符作为响应)。

我控制用于响应此简单数据的 PHP 脚本,但不控制服务器或站点配置。

我想尽可能简单,避免解析分块响应。 (基于 C,基于 Arduino 系统)

谢谢。

真的,答案与某些 Web 服务器是否支持 HTTP 1.0 无关,这取决于网站是否支持。

HTTP 1.0 没有 header,包括主机 header,因此没有虚拟主机功能(每个 IP 地址一个网站)。

因此,任何在一个 IP 上有多个 domain/hostname 的网站都需要 HTTP/1.1 'host' header 才能正常工作。

因此,如果您想让您的客户端与任意网站一起工作,不,您不能这样做,它不会与所有网站一起工作。

如果有特定的网站,那么...您可以测试这些网站,看看它们是否会接受 HTTP 1.0 请求,是否接受将取决于网络服务器及其配置。

您必须接受,如果您有一组特定的目标网站可以正常工作,请记住,它们稍后可能会停止工作。

编辑(问题编辑后):

由于您控制服务器端 PHP 您可以控制内容,但仍然不能控制网络服务器的行为。您的主机可能仅在您的 host/domain 名称指向的 IP 地址上提供您的 Web 内容/网站,在这种情况下 HTTP 1.0 可能会工作...但是如果有多个 host/domain 名称托管在 Web 服务器的单个 IP 上,它几乎肯定不会工作,如果它在任何一种情况下都工作,那么它可能会在稍后停止工作。