【问题标题】:Is using HTTP 1.0 bad practice?使用 HTTP 1.0 是不好的做法吗?
【发布时间】:2011-08-20 04:59:12
【问题描述】:

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

我一直在阅读有关difference between http 1.0 and 1.1 的信息,在我看来,http 1.0 支持我需要的一切。

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

让我好奇的是,如果我通过原始套接字连接到 IIS7.5 并发送 http 1.0 获取请求,the response is always http 1.1.

【问题讨论】:

    标签: http http-1.1 http-1.0


    【解决方案1】:

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

    如果您真的有顾虑,请发送 1.1 并仅处理您想要处理的内容,我认为这两种情况都不会出错。

    【讨论】:

      【解决方案2】:

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

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

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

      你可以看到更多关于libcurlhere的信息。

      【讨论】:

      • 我将在嵌入式环境中使用它,在 c 中,所以它越轻巧越好。你知道有没有比 libcurl 更通用的库,因为它只是我需要的 http 部分?
      • 当你构建 curl 时,你可以告诉它要包含哪些协议。这对你的情况来说足够了吗?
      • 我会看看它,直到我知道更好的东西,我会接受你的回答。感谢您的帮助...
      • http tiny library 怎么样?它缺乏建议,让人怀疑它是否是正确的选择。
      • 最后,我决定推出自己的图书馆。 libcurl 的移植对于我的平台(编译器和操作系统组合)来说太繁琐了,当涉及到使用未知的、不受支持的库时,我也可以自己动手打补丁来做我想做的事(代理、ssl 等) )。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 2015-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多