【计网】HTTP与WebSocket的区别

本文详细介绍了WebSocket协议,包括其定义、特点、握手过程,以及与HTTP1.1的异同。WebSocket旨在解决HTTP的短连接和轮询问题,提供全双工、低延迟的通信,通过升级HTTP连接实现。文章还对比了HTTP的长连接和WebSocket的持久连接,阐述了WebSocket的高效性和优势。
摘要由CSDN通过智能技术生成

WebSocket协议

1.定义

  • Websocket是html5提出的一个协议规范(2011年),参考rfc6455。

  • websocket约定了一个通信的规范,通过一个握手的机制,客户端(浏览器)和服务器(webserver)之间能建立一个类似tcp的连接,从而方便c-s之间的通信。在websocket出现之前,web交互一般是基于http协议的短连接或者长连接。

  • WebSocket他是为了解决客户端发起多个http请求到服务器资源浏览器必须要经过长时间的轮训问题而生的。

  • 建立了WebSocket之后服务器不必在浏览器发送request请求之后才能发送信息到浏览器。这时的服务器已有主动权想什么时候发就可以发送信息到服务器。而且信息当中不必在带有head的部分信息了与http的长链接通信来说,这种方式,不仅能降低服务器的压力。而且信息当中也减少了部分多余的信息。

2.websocket的特点

  • WebSocket解决客户端发起多个http请求到服务器资源浏览器必须要经过长时间的轮询问题。

  • websocket是一种双向通信协议,采用异步回调的方式接受消息,当建立通信连接,可以做到持久性的连接,并进行通信。

  • WebSocket需要通过握手连接,类似于TCP它也需要客户端和服务器端进行握手连接,连接成功后才能相互通信。

  • 建立连接后,WebSocket服务器和Browser都能主动的向对方发送或接收数据,实质的推送方式是服务器主动推送,只要有数据就推送到请求方。(变被动为主动)

3.websocket的握手(handshake)

(1)定义

出于兼容性的考虑,WS的握手使用HTTP来实现,客户端的握手消息就是一个普通的,带有Upgrade头的,HTTP Request消息。

(2)websocket请求报文

    GET /chat HTTP/1.1              //1
    Hos
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值