cms網(wǎng)站建設(shè)方案seo教程培訓(xùn)班
一、同源策略
兩個網(wǎng)站協(xié)議名、域名、端口號有一個不同就是非同源,就是跨域??缬騿栴}就是瀏覽器的同源策略造成的。
同源是指協(xié)議名、域名、端口號 必須完全一致!
http 默認端口號是80,https 默認端口號是443
同源策略的限制
一般來說,同源策略是指對?javascript?腳本的限制,
- js 腳本不能跨域訪問 cookie、localstorage、indexDB
- js 腳本不能跨域操作 dom
- 不能跨域發(fā)送 ajax 請求
二、跨域問題解決方案
1.JSONP跨域
jsonp的原理就是利用<script>標簽沒有跨域限制,通過<script>標簽src屬性,發(fā)送帶有callback參數(shù)的GET請求,服務(wù)端將接口返回數(shù)據(jù)拼湊到callback函數(shù)中,返回給瀏覽器,瀏覽器解析執(zhí)行,從而前端拿到callback函數(shù)返回的數(shù)據(jù)。
?jsonp的缺點:只能發(fā)送get一種請求。
2.接口代理
- 通過修改nginx服務(wù)器配置實現(xiàn)代理轉(zhuǎn)發(fā)
- 前端修改,后端不用
? ?前端請求 a 地址,設(shè)置nginx服務(wù),將 a 地址代理到 b 地址。
3.cors技術(shù)
CORS :全稱cross origin resource share (資源共享)
工作原理: 服務(wù)器 在返回響應(yīng)報文的時候,在響應(yīng)頭中 設(shè)置一個允許的header
res.setHeader(‘Access-Control-Allow-Origin’, ‘*’)
CORS :全稱cross origin resource share (資源共享)