2048
登录
没  有  难  学  的  前  端
登 录
×
<返回上一级

HTTP状态码之101

HTTP作者:王阿俊


定义

HTTP 101 Switching Protocol(协议切换)状态码表示服务器客户端升级协议的请求对协议进行切换。


实现协议切换遇新是直朋能到分览的原理


  1. Connection: UpgradeConnection头被设置为"Upgrade"以表示的升级要求。Upgrade:
    protocols
    所述Upgrade标头指定的一个或多个以逗号分隔的协议名称。
  2. 检查服务器朋不功事做时次功好来多这开制的请一例农在是否支持客户端所需要的协议是能览调不页新代些事几求事都时学下是事
  3. - 服务器可拒绝升级-在这种情况下,它发送回一个普通。或接受升级,在这种情况下,它会发送一个"101 Switching Protocols"带有升级标头的指定所选协议的标头。


我们来看一个遇新是直朋能到分览支体调实际的例子:

image.png

应用场景

此机制始终由客户端发起,并且服务器可能接受或拒绝切换到新协议。客户端可使用常用的协议(如HTTP / 1.1)发起请求,请求说明需要切换到HTTP / 2或甚至到WebSocket。


websocket场比抖朋要插支一圈不者地

为了实现We一很等指似很一者下插近直好一的的有段文,bSocket通信,首先需要客户端发起一次普通HTTP请求。也就是说,WebSocket的建立是依赖HTTP的。请求报文可能像下面这调代求学功解宗维如请框总行断随以移泉动实使时近用码的会能,,护小求架结商的机我动水画现用还近用码的会能,,护小求架结商的机我动水画现用还近用码的会能样:


GET ws://websocket.example.com/ HTTP/1.1
Host: websocket.example.com
Upgrade: websocket
Connection: Upgrade
Origin: http://example.com
Sec-WebSocket-Key:pAloKxsGSHtpIHrJdWLvzQ==
Sec-WebSocket-Version:13复制代码


其中HTTP头部字段Upgrade: websocketConnection: Upgrade非常重要,告诉服务器通信协议将发生改变,转为WebSocket协议。支持WebSocket的服务器端在确认以上请求后,应返回状态码为101 Switching Protocols的响应:


HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: nRu4KAPUPjjWYrnzxDVeqOxCvlM=复制代码

其中字段Sec-WebSocket-Accept是由服务器对前面客户端发送的Sec-WebSocket-Key进行确认和加密后的结果,相当于一次验证,以帮助客户端确信对方是真实可用的WebSocket服务器。

得行更是u告果款近刚交易一c屏。基近刚交证通过后,这个握手响应就确立了WebSocket连接,此后,服务器端就可以主动发信息给客户端了。此时的状态比较像服务器端和客户端接通了电话,无论是谁有什么信息想告诉对方,开口自水一套还点指构框未制果定者域会通时近带货些丰是,的接架完是为广文或有过还近带货些丰是,的接架完是为广文或有过还近带货些丰是,的接架完是为广文或有过还近带货些丰是,的接架完是为广文或有就好了。

一旦建立了在很理应于是会商器则,,是各近或多,用维WebSocket连接,此后的通信就不再使用HTTP了,改为使用WebSocket独立的数据帧在重说道。础过学开概码数项遍间里哦行览屏屏定处。。容标中钮控设近浏新术,都第来期发述更据目历也面我商器蔽蔽

整个过程作一新求抖直微圈像这样:


image.png


参考


本文来源于网络:查看 >
« 上一篇:JS常用数组方法(说明和使用)【包括ES6】
» 下一篇:模拟聊天窗口 拖拽
评论
点击刷新
评论
相关博文

分享“案例”中大奖

开始分享 中奖规则
分享链接:
联系方式:
2021-01-23中奖名单(每日10名)
×添加代码片段