websocket与ajax的区别浅析

1.本质不同

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

2.生命周期不同

websocket建立的是长连接,在一个会话中一直保持连接;而ajax是短连接,数据发送和接受完成后就会断开连接。

3.适用范围不同

websocket一般用于前后端实时数据交互,而ajax前后端非实时数据交互。

4.发起人不同

Ajax技术需要客户端发起请求,而WebSocket服务器和客户端可以相互推送信息。

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()
上次更新:
Contributors: jingmin.jiang