美文网首页
WebSocket 原理以及入门

WebSocket 原理以及入门

作者: 喵呜Yuri | 来源:发表于2018-04-19 11:15 被阅读16次

    总结了一下知乎高票答案https://www.zhihu.com/question/20215561

    websocket是html5协议,作为http协议的补充

    HTTP的生命周期通过Request来界定,也就是一个Request 一个Response,那么在HTTP1.0中,这次HTTP请求就结束了。在HTTP1.1中进行了改进,使得有一个keep-alive,也就是说,在一个HTTP连接中,可以发送多个Request,接收多个Response。但是请记住 Request = Response , 在HTTP中永远是这样,也就是说一个request只能有一个response。而且这个response也是被动的,不能主动发起。

    但是http协议是非持续性的

    服务器很懒,它不会主动法res给前端,只有前端不停的问他
    可以作为长连接的方式有long poll,还有ajax轮询
    ajax轮询:很简单就是不停的发起请求嘛
    前端:有吗?
    后台:没有
    前端:有吗?
    后台:哎哟没有啦
    long poll:是采取阻塞机制,打电话,后台不接我就不挂

    这两种方式的缺点很明显。ajax轮询需要服务器有很快的处理速度和资源。long poll需要有很高的并发,也就是说同时接待客户的能力。

    然而websocket却可以实现,建立好连接以后,能让服务器主动发消息给前端啦哈哈哈
    客户端:啦啦啦,我要建立Websocket协议,需要的服务:chat,Websocket协议版本:17(HTTP Request)
    服务端:ok,确认,已升级为Websocket协议(HTTP Protocols Switched)
    客户端:麻烦你有信息的时候推送给我噢。。服务端:ok,有的时候会告诉你的。
    服务端:balabalabalabala
    服务端:balabalabalabala
    只需要经过一次HTTP请求,就可以做到源源不断的信息传送了

    还有一点websocket可以建立久连接,久连接,久连接。解决资源问题,有信息的时候客服想办法通知前端,然后前端在统一转交给后台。

    相关文章

      网友评论

          本文标题:WebSocket 原理以及入门

          本文链接:https://www.haomeiwen.com/subject/nqqvkftx.html