本质不同·HTML·Ajax技术需要客户端发起请求就像是用户主动打电话

一、本质不同

先来聊聊它们本质上的区别。Ajax,全称是异步JavaScript和XML,主要是为了开发那些能互动的网页用的。而WebSocket呢,它是HTML5新出来的一个协议,可以让浏览器和服务器实现一种更实时的全双工通信。

怎么理解全双工通信呢?就像是两个人打电话,可以随时说话,不必等对方说完才能继续。

二、生命周期不同

再来聊聊它们的生命周期。WebSocket建立的是一种长连接,就像是两个人建立了一个长久的电话友谊,不管多长时间都不断线。而Ajax建立的是短连接,就像是打电话,聊完一通就挂断了。


三、适用范围不同

接下来,看看它们适用的范围。WebSocket一般用来实现前后端的数据实时交换,就像两个人实时交流。而Ajax通常用来进行非实时的数据交互,就像打电话那样,有时候可能要等一会儿才有回复。

四、发起人不同

最后,看看谁发起请求。Ajax技术需要客户端发起请求,就像是用户主动打电话。而WebSocket服务器和客户端可以相互推送信息,就像是两个人都可以主动给对方打电话。

举个例子,如果用户A请求了某些数据,这些数据A用户看到了,B用户也可以看到,如果这些信息是公开的,那所有人都看到了。

表格对比:

项目 Ajax WebSocket
本质 异步JavaScript和XML 全双工通信协议
生命周期 短连接 长连接
适用范围 非实时数据交互 实时数据交互
发起人 客户端 服务器和客户端都可以

Ajax的特点

Ajax,也就是Asynchronous JavaScript and XML,是一种在网页上做异步数据交换的技术。它厉害的地方就是能在不刷新整个页面的情况下,跟服务器“悄无声息”地交换数据,而且还能更新页面上的一部分。

正因为这些特点,Ajax让网页可以更快、更流畅地响应用户的操作,提供了更像是桌面应用那样直观的交互体验。像Google Maps、Gmail和Facebook这些流行的网站,都用到了Ajax技术。