Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rest 101交换协议_Rest_Api - Fatal编程技术网

Rest 101交换协议

Rest 101交换协议,rest,api,Rest,Api,我正在阅读RESTHTTP状态,遇到了这个101状态代码。 谁能告诉我,什么是交换协议,在这种情况下,服务器应该使用101 http代码进行响应。 提前感谢。如果前一个请求包含通过使用连接:升级到另一个协议,将当前使用的连接升级到另一个协议的请求,则返回此响应代码,该请求定义了一个或多个要更改的其他协议 如果您不确定服务器是否支持HTTP/2,并且您首先开始通过HTTP/1.1连接到它,并且当您了解到它也支持HTTP/2时,在请求服务器将当前连接升级到HTTP/2时切换到该协议,则此功能非常有用

我正在阅读RESTHTTP状态,遇到了这个101状态代码。 谁能告诉我,什么是交换协议,在这种情况下,服务器应该使用101 http代码进行响应。
提前感谢。

如果前一个请求包含通过使用
连接:升级到另一个协议,将当前使用的连接升级到另一个协议的请求,则返回此响应代码,该请求定义了一个或多个要更改的其他协议

如果您不确定服务器是否支持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协议

但是,请注意,服务器不会被迫切换协议。如果它更愿意通过旧协议进行通信,那么它也可能完全忽略这样的请求。虽然建议的协议列表应以优先顺序表示,但首先是最优先的协议,服务器还可以忽略任何优先顺序并自行选择其中一个建议的协议。但是,不允许服务器切换到客户机未指示的任何其他协议,因为客户机可能不支持此类协议,从而阻止进一步的通信