3

我正在实现一个用于与 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。

4

2 回答 2

2

防火墙当然不会阻止它,路由器会路由它。

我建议使用 HTTP 1.1。如果您使用 HTTP 1.0,则不会有任何影响。但是,您永远不知道将来还有谁会使用您的 HTTP 客户端,以及它将与什么可怕的服务器实现一起使用。

您还需要首先问自己为什么要实现 HTTP 客户端。为什么不直接使用标准库?我不知道您使用的是什么语言,但libcurl有多种语言的绑定。

你可以libcurl 在这里看到更多。

于 2011-05-06T13:45:11.987 回答
1

我不认为使用 1.0 作为客户端有什么问题,大多数 Web 服务器都是向后兼容的。

如果您真的有顾虑,请发送 1.1 并只处理您想要处理的东西,我认为选择任何一种情况都不会出错。

于 2011-05-06T13:44:15.650 回答