前端WebSocket相关问题

WebSocket 是 HTML5 提供的一种在单个 TCP 连接上进行全双工通讯的协议。全双工通讯就是可以双向通信,浏览器和服务器一旦建立连接(也就是需要完成一次握手),通过WebSocket两者就可以实现持续性和长久性的通信。

WebSocket可以解决跨域吗?

WebSocket并不能直接解决跨域问题。

浏览器和服务器建立连接的这个过程是通过HTTP请求和响应来完成的,HTTP是受同源策略限制的,但是WebSocket协议本身是没有受同源策略限制的。所以解决HTTP请求的跨域问题,也就能够解决WebSocket的跨域问题。

WebSocket与HTTP区别?

(1)建立连接的方式不同:HTTP请求是短连接,每次通信都需要重新建立连接。WebSocket请求则是一种长连接,一旦建立连接后,就可以一直通信,不需要像HTTP一样频繁建立、断开连接,可有效减少网络请求带来的开销。

(2)数据格式不同:HTTP请求的数据格式相对单一,通常是HTML、JSON、XML等格式的数据。WebSocket协议可以传输任意格式的数据,通常使用二进制传输,安全性更高,不容易被窃取或篡改。

(3)服务端支持不同:HTTP服务端可以使用各种Web服务器来搭建;WebSocket服务端需要支持WebSocket协议的服务器来处理WebSocket握手、消息传递等过程。

(4)协议头部不同:HTTP协议头部包含了请求方法、请求URL、请求头等信息;而WebSocket协议头部较为简洁,只有upgrade、connection、security-key等,以减少协议头部带来的开销。

WebSocket应用场景:

WebSocket适合实时、双向通信的场景,比如实时聊天、实时数据更新、多人协作、实时通知和推送等场景。

HTTP应用场景:

HTTP适合传输静态资源、请求-响应模式的数据交互的场景,比如获取Web页面、AJAX异步交互、文件下载和上传、邮件发送、登录认证等。

WebSocket优缺点:

优点在于能够实现实时通信和高速传输,可用于实现实时应用,如在线游戏、推送等场景。

缺点是浏览器的兼容性还不是非常好,只适用于主流浏览器和IE10+。。

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值