使用 HTTP 1.0 是不好的做法吗?
我正在实现一个基本的 http 客户端来与 Web 服务通信,并且想知道我是否应该使用 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 get 请求, 响应始终为 http 1.1。
I'm implementing a basic http client for communicating with a web service and am wondering if I should go with http 1.0 or 1.1.
The data section will consist of binary data and the remote server will always be controlled by me (running IIS7.5). The firewalls / proxies inbetween is nothing I'm controlling, ie. the packets must not be stopped if wrong http version is used.
I've been reading up about the difference between http 1.0 and 1.1 and it seems to me that http 1.0 supports everything I need.
Will I encounter problems if i choose http 1.0 over 1.1 or can I assume that everything will work just as good?
What makes me wonder is that if I connect via raw sockets to IIS7.5 and send a http 1.0 get request, the response is always http 1.1.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
防火墙肯定不会阻止它,路由器会路由它。
我建议使用 HTTP 1.1。如果您使用 HTTP 1.0,很可能不会受到任何影响。然而,您永远不知道将来还有谁会使用您的 HTTP 客户端,以及它将与什么可怕的服务器实现一起使用。
您还需要问自己为什么要实现 HTTP 客户端。为什么不直接使用标准库呢?我不知道您使用的是什么语言,但是 libcurl 具有多种语言的绑定。
您可以在此处查看有关
libcurl
的更多信息。A firewall certainly will not block it and a router will route it.
I would suggest using HTTP 1.1. Chances are nothing will be affected if you use HTTP 1.0. However, you never know who else might use your HTTP client in the future and what horrible server implementation it will be used with.
You also need to ask yourself why you are implementing an HTTP client in the first place. Why not just use a standard library? I do not know what language you are using, but
libcurl
has bindings for many languages.You can see more about
libcurl
here.我不认为使用 1.0 作为客户端有什么问题,大多数 Web 服务器都是向后兼容的。
如果您确实有顾虑,请发送 1.1 并且仅处理您想要处理的内容,我认为选择任何一种情况都不会出现任何问题。
I don't think there's anything wrong using 1.0 as a client, most web servers are backward compatible.
If you're really have concerns, send 1.1 and only deal with stuff you want to handle, I don't think there's anything possibly go wrong choose either case.