关于跨域

为了不容易忘掉这些东西,还是记录一下。

跨域的几种方式

1. 使用插件http-proxy-middleware

跨过浏览器的限制,通过服务器访问非同源资源,服务器做转发工作。

var express = require('express')
var proxy = require('http-proxy-middleware')

var app = express()

app.use('/api', proxy({ target: 'http://www.example.org', >changeOrigin: true }))
app.listen(3000)

// http://localhost:3000/api/foo/bar -> >http://www.example.org/api/foo/bar

2. WebSocket

WebSocket协议不受同源策略的限制。

服务器端需要支持websocket协议,客户端进行下面的请求。

let wsUrl = 'ws://example.com';

let ws = new WebSocket(wsUrl);

ws.onopen = function (event) {
  console.log(event);
}

可参见WebSocket 协议介绍及 WebSocket API 应用。(查阅资料时,发现这篇文章讲的全面)

3. CORS

客户端进行正常的 AJAX 请求,由服务器设置是否允许访问资源。

4. jsonp

很简单,不再赘述。


个人理解,如有错误,请指正。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容