Rest 101交换协议
我正在阅读RESTHTTP状态,遇到了这个101状态代码。 谁能告诉我,什么是交换协议,在这种情况下,服务器应该使用101 http代码进行响应。Rest 101交换协议,rest,api,Rest,Api,我正在阅读RESTHTTP状态,遇到了这个101状态代码。 谁能告诉我,什么是交换协议,在这种情况下,服务器应该使用101 http代码进行响应。 提前感谢。如果前一个请求包含通过使用连接:升级到另一个协议,将当前使用的连接升级到另一个协议的请求,则返回此响应代码,该请求定义了一个或多个要更改的其他协议 如果您不确定服务器是否支持HTTP/2,并且您首先开始通过HTTP/1.1连接到它,并且当您了解到它也支持HTTP/2时,在请求服务器将当前连接升级到HTTP/2时切换到该协议,则此功能非常有用
提前感谢。如果前一个请求包含通过使用
连接:升级到另一个协议,将当前使用的连接升级到另一个协议的请求,则返回此响应代码,该请求定义了一个或多个要更改的其他协议
如果您不确定服务器是否支持HTTP/2,并且您首先开始通过HTTP/1.1连接到它,并且当您了解到它也支持HTTP/2时,在请求服务器将当前连接升级到HTTP/2时切换到该协议,则此功能非常有用。服务器可以在向其响应添加带有支持的协议的升级
头时公布对其他协议的支持
如RFC中所述,客户将发出如下请求:
GET /some/resource HTTP/1.1
Host: www.acme.com
Connection: upgrade
Upgrade: HTTP/2.0
如果服务器支持HTTP/2,它可能会用如下响应进行响应
HTTP/1.1 101 Switching Protocols
Connection: upgrade
Upgrade: HTTP/2.0
指示连接已成功升级到HTTP/2,并且通过此连接进行的任何进一步通信都应遵循HTTP/2协议
但是,请注意,服务器不会被迫切换协议。如果它更愿意通过旧协议进行通信,那么它也可能完全忽略这样的请求。虽然建议的协议列表应以优先顺序表示,但首先是最优先的协议,服务器还可以忽略任何优先顺序并自行选择其中一个建议的协议。但是,不允许服务器切换到客户机未指示的任何其他协议,因为客户机可能不支持此类协议,从而阻止进一步的通信