WebSockets不会完全淘汰AJAX,而WebSockets可以跨域。
AJAX
AJAX机制可以与普通Web服务器一起使用。在最基本的层次上,AJAX只是网页发出HTTP请求的一种方式。WebSockets是一个较低级别的协议,并且需要WebSockets服务器(内置于Web服务器,独立服务器或从Web服务器代理至独立服务器)。
使用WebSockets,帧和有效负载由应用程序确定。您可以在客户端和服务器之间来回发送HTML / XML / JSON,但是您不必这样做。
AJAX是HTTP 。WebSockets具有HTTP友好握手,但 WebSockets不是HTTP
。WebSockets是一种双向协议,它比HTTP更接近原始套接字(有意地)。WebSockets有效负载数据在标准的当前版本中采用UTF-8编码,但是在将来的版本中可能会更改/扩展。
因此,即使在所有客户端都原生支持WebSocket的世界中,也可能总会有AJAX类型请求的位置。WebSockets正在尝试解决AJAX不具备能力或具备少量能力的情况(因为WebSockets是双向的且开销较低)。但是WebSocket并不能替代AJAX的所有用途。
跨域
是的
,WebSockets支持跨域。建立连接的初始握手传达了源策略信息。Wikipedia页面显示了典型握手的示例:http
:
//en.wikipedia.org/wiki/WebSockets



