websocket简介

websocket:遵循socket协议,特点是长链接,可跨域
应用:客服系统,消息推送
传统应用的http协议的连接,一般都是轮询式,致命缺点是浪费带宽,前端压力非常大。
采用websocket协议,实时消息双向传输,提高了性能。

缺陷:

HTTP/WebSocket的连接要经过无数的路由,防火墙,要经过无数次转发,过滤才能实现。在一个节点发现没有数据传输时,会主动断开,此时,服务器和客户端并不会收到消息,发送消息的节点还会不断发送,计算机的协程栈会有一层一层的缓存,填满后,websocket会进入瘫痪状态。

  • 解决方案:WebSocket 的设计者们也早已想过。就是让服务器和客户端能够发送 Ping/Pong Frame(RFC 6455 - The WebSocket Protocol)。这种 Frame 是一种特殊的数据包,它只包含一些元数据而不需要真正的 Data Payload,可以在不影响 Application 的情况下维持住中间网络的连接状态。

在socket连接中,再访问其他网站的时候 会把这个网站的cookie带过去,这是非常危险的。

  • 解决方案:
    • websocket的实现,是利用浏览器的请求头orgin实现的。这个请求头是浏览器加上的(不能通过javascipt来修改)。
    • 若被黑客控制了电脑,通过抓包,可以修改orgin的,这时我们需要https,wss来防范。
    • 服务器给每个websocket端分配token,浏览器访问时,token验证。

参考:

https://www.zhihu.com/question/20215561/answer/40250050

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值