1. 本质不同
ajax,即异步JavaScript和XML,是一种创建交互式网页应用的网页开发技术;
webSocket是HTML5一种新的协议,实现了浏览器与服务器全双工通信。其本质是先通过HTTP/HTTPS协议进行握手后创建一个用于交换数据的TCP连接,服务端与客户端通过此TCP连接进行实时通信。


2. 生命周期不同
websocket建立的是长连接,在一个会话中一直保持连接;而ajax是短连接,数据发送和接收完成后就会断开连接。


3. 适用范围不同
websocket一般用于前后端实时数据交互;而ajax前后端非实时数据交互。


4. 发起人不同
ajax技术需要客户端发起请求(自己请求回来的数据用户自己看);而websocket服务器和客户端可以相互推送信息(用户A请求返回来的东西A用户可以看B用户也可以看;如果是属于公共的那大家都可以看)。


5. 用法不同
ajax:

$.ajax({
       type:"post",
       url:"http://localhost:8080/target",
       data:"state = yes",
       dataType:"json",
       success:funciont(data){
         ...
       }
});

websocket:

var monitor = new WebSocket("ws://"+ip+path)
onOpen()、onMessage()、onClose()

cheneyg
88 声望2 粉丝

心有猛虎,细嗅蔷薇