zoukankan      html  css  js  c++  java
  • 面试题: 什么是websocket

    面试题: 什么是websocket

    参考链接:http://www.ruanyifeng.com/blog/2017/05/websocket.html?utm_source=tuicool&utm_medium=referral

    1. websocket使用也比较多的,它和http协议没有太多关系,但是有交集在于:(Websocket 其实是一个新协议,跟 HTTP 协议基本没有关系,只是为了兼容现有浏览器,所以在握手阶段使用了 HTTP)

    2. 首先,WebSocket 是一个持久化的协议,相对于 HTTP 这种非持久的协议来说。(相对于http来说,http是一次请求一次响应,结束:request--response结束。在通讯过程中,一直在请求响应,反复如此)而websocket通过一次http握手,整个通讯建立在一次连接状态中,服务端会一直知道你的信息,知道关闭websocket,不需要服务端反复解析。在传输中节省流量和时间,提高性能

    3. HTTP 协议有一个缺陷:通信只能由客户端发起。而websocket协议,实现了服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。

    http websocket区别

    4. WebSocket 的用法相当简单。

    var ws = new WebSocket("wss://echo.websocket.org");
    
    ws.onopen = function(evt) { 
      console.log("Connection open ..."); 
      ws.send("Hello WebSockets!");
    };
    
    ws.onmessage = function(evt) {
      console.log( "Received Message: " + evt.data);
      ws.close();
    };
    
    ws.onclose = function(evt) {
      console.log("Connection closed.");
    };

    图示:

    WebSocket

       WebSocket协议为web应用程序客户端和服务端之间提供了一种全双工通信机制。

    特点:

      (1)握手阶段采用HTTP协议,默认端口是80和443

      (2)建立在TCP协议基础之上,和http协议同属于应用层

      (3)可以发送文本,也可以发送二进制数据。

      (4)没有同源限制,客户端可以与任意服务器通信。

      (5)协议标识符是ws(如果加密,为wss),如ws://localhost:8023

  • 相关阅读:
    2 浮点数
    1 有符号与无符号
    4.变量和不同的赋值方式
    文档格式标准
    常用mysql命令
    一个简单的jsp+servlet实例,实现简单的登录
    容量调度器与公平调度器区别
    CListCtrl用法总结(二)
    CListCtrl 实现排序功能(数字和字母)
    CString 转换成 char *
  • 原文地址:https://www.cnblogs.com/jane-panyiyun/p/13092058.html
Copyright © 2011-2022 走看看