1995年,Netscape提出了一個著名的安全策略。如今全部支持JavaScript 的瀏覽器都會使用這個策略。所謂同源是指,域名,協議,端口相同。前端
當一個瀏覽器的兩個tab頁中分別打開來 百度和谷歌的頁面當瀏覽器的百度tab頁執行一個腳本的時候會檢查這個腳本是屬於哪一個頁面的,即檢查是否同源,只有和百度同源的腳本纔會被執行。node
const http=require('http'); // 設置能夠跨域的域名 let allowOrigin={ 'http://localhost': true, 'http://aaa.com': true, 'https://aaa.com': true, } http.createServer((req, res)=>{ let {origin}=req.headers; if(allowOrigin[origin]){ res.setHeader('access-control-allow-origin', '*'); } res.write('{"a": 12, "b": "Blue"}'); res.end(); }).listen(8080);
由於我經常使用的是koa框架,因此給你們附上koa中的寫法後端
const koa=require('koa'); let app=new koa(); app.use(async (ctx,next)=>{ ctx.set('Access-Control-Allow-Origin', '*'); await next(); }) app.listen(3000)