HTTP版本不匹配-服务器响应代码 我试图在C++中编写一个HTTP 1(现在只1个)的服务器。
我在这里阅读了HTTP 1.0规范:。 在第3节“协议参数”第3.1小节“HTTP版本”中,当客户端从服务器发送不同版本时,我没有发现任何内容 根据,当版本不匹配时,我们有两种可能性:HTTP版本不匹配-服务器响应代码 我试图在C++中编写一个HTTP 1(现在只1个)的服务器。,http,rfc,Http,Rfc,我在这里阅读了HTTP 1.0规范:。 在第3节“协议参数”第3.1小节“HTTP版本”中,当客户端从服务器发送不同版本时,我没有发现任何内容 根据,当版本不匹配时,我们有两种可能性: 版本(服务器)=版本(客户端)+1:应该降级到以前的版本(不可能?我的服务器只处理一个特定版本-我是否必须处理HTTP 0.9?) 版本(服务器)>版本(客户端)+1:向用户发出警报(其中一个?4xx,5xx?) IETF RFC的官方引用应该是值得注意的,或者至少是当前最常用的web服务器(如Apache或
- 版本(服务器)=版本(客户端)+1:应该降级到以前的版本(不可能?我的服务器只处理一个特定版本-我是否必须处理HTTP 0.9?)
- 版本(服务器)>版本(客户端)+1:向用户发出警报(其中一个?4xx,5xx?)
IETF RFC的官方引用应该是值得注意的,或者至少是当前最常用的web服务器(如Apache或Nginx)的一个例子。您似乎对最后提到的文档的解释不正确。在您的案例中,问题是
v(ME)
(或v(ME)+1=v(IT)
),文档没有针对这种情况提供解决方案
但是,(HTTP/1.1)指出(在19.6中):
我们希望HTTP/1.1客户端能够:
- 识别HTTP/1.0和1.1响应的状态行格式
- 理解HTTP/0.9、1.0或1.1格式的任何有效响应
还有一些关于如何处理1.1客户端的提示。您似乎对上一篇文档的解释不正确。在您的案例中,问题是
v(ME)
(或v(ME)+1=v(IT)
),文档没有针对这种情况提供解决方案
但是,(HTTP/1.1)指出(在19.6中):
我们希望HTTP/1.1客户端能够:
- 识别HTTP/1.0和1.1响应的状态行格式
- 理解HTTP/0.9、1.0或1.1格式的任何有效响应
还有一些关于如何处理1.1客户端的提示。如果我正确理解RFC 7230,当我收到HTTP版本x.y和x的请求时!=1,我应该发送一个505(不支持HTTP版本),否则我应该发送一个HTTP 1.0正常响应?我想是的,尽管(您提到的)声明HTTP/1.0服务器必须接受HTTP/0.9请求。但我不会费心实现0.9支持自己:)啊,我错过了那个,RFC对我来说纯粹是头痛。。。我将支持HTTP1.1和0.9以符合RFC。谢谢你的澄清HTML格式如果我正确理解RFC 7230,当我收到HTTP版本x.y和x!=1,我应该发送一个505(不支持HTTP版本),否则我应该发送一个HTTP 1.0正常响应?我想是的,尽管(您提到的)声明HTTP/1.0服务器必须接受HTTP/0.9请求。但我不会费心实现0.9支持自己:)啊,我错过了那个,RFC对我来说纯粹是头痛。。。我将支持HTTP1.1和0.9以符合RFC。谢谢你的澄清HTML格式