Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
yanlele opened this issue Mar 6, 2023 · 0 comments
Open

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

yanlele opened this issue Mar 6, 2023 · 0 comments
Labels
网络 web 网络相关 美团 公司标签
Milestone

Comments

@yanlele
Copy link
Member

yanlele commented Mar 6, 2023

常见方式

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

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

@yanlele yanlele added the 网络 web 网络相关 label Mar 6, 2023
@yanlele yanlele added this to the milestone Mar 6, 2023
@yanlele yanlele added the 美团 公司标签 label Jul 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
网络 web 网络相关 美团 公司标签
Projects
None yet
Development

No branches or pull requests

1 participant