(三)ajax请求不同源之websocket跨域

时间:2021-11-20 04:29:44

WebSocket是一种通信协议,使用ws://(非加密)和wss://(加密)作为协议前缀。该协议不实行同源政策,只要服务器支持,就可以通过它进行跨源通信。

一、WebSocket目标

在一个单独的持久性socket连接上提供全双工、双向通信。

二、基本原理

在浏览器客户端通过javascript进行初始化连接,就可以监听相关的事件和调用socket方法来对服务器的消息进行读写操作。浏览器和服务器只需要做一个握手的动作,他们之间就形成了一条快速通道,可以互相传送数据。不需要多次创建TCP请求和销毁,可以节约宽带和服务器的资源。

三、webSocket如何兼容低浏览器?
1、Adobe Flash Socket
2、ActiveX HTMLFile(IE)
3、基于multipart编码发送XHR
4、基于长轮询的XHR

四、测试步骤

var socket = new WebSockt('ws://www.baidu.com');
//http->ws; https->wss
socket.send('hello WebSockt');
socket.onmessage= function(event){
var data =event.data;