跨域通信的常见方式有哪些?

常见方式

JSONP
JSONP是通过动态创建script标签的方式,利用script标签可以跨域请求资源的特性来实现的,本质是利用了script标签没有跨域限制的特性,可以在请求的url后加一个callback参数,后端接收到请求后,将需要传递的数据作为参数传递到callback函数中,前端定义该函数来接收数据,从而实现跨域通信。
#27

CORS
CORS是一种现代浏览器支持的跨域解决方案,CORS全称为跨域资源共享(Cross-Origin Resource Sharing),其本质是在服务端设置允许跨域访问的响应头,浏览器通过判断响应头中是否允许跨域访问来决定是否允许跨域访问。
#28

postMessage
postMessage是HTML5引入的一种新的跨域通信方式,主要是用于在不同窗口之间进行通信,包括不同域名、协议、端口等情况,通过调用window.postMessage()方法,在两个窗口之间发送消息,接收方通过监听message事件来接收消息,从而实现跨域通信。
#29

WebSocket
WebSocket是一种新的网络协议,可以实现客户端和服务器之间的实时双向通信,同时也可以跨域通信,WebSocket协议建立在TCP协议之上,通过HTTP协议发起握手请求,握手成功后,客户端和服务器就可以通过WebSocket协议进行实时通信了。
#30

代理转发
代理转发是一种常用的跨域通信方式,主要是通过在同一域名下设置代理服务器,在代理服务器上实现跨域访问,再将结果返回给前端页面,从而实现跨域通信。