面試語述:跨域及跨域解決方案

跨域

跨越 區(qū)域(范圍)

瀏覽器為保證數(shù)據(jù)安全 設立了一種安全策略 —— 同源策略

同源策略的核心思想是 一個頁面無法訪問跨源(域)的數(shù)據(jù)
1.Cookie 、LocalStorage 和 IndexDB 無法讀取
2.Dom 和 JS 對象無法獲取
3.Ajax請求發(fā)送不出去

同源:有三個條件需要同時滿足 才叫同源

  1. 相同的協(xié)議 ( http:// https:// )
  2. 相同地址(ip / 域名)
  3. 相同端口

跨源(跨域)解決方案

  1. JSONP
//原生的實現(xiàn)方式
let script = document.createElement('script');
script.src = 'http://www.xxxx.com'
document.body.appendChild('script')
function callback(res) {
   console.log(res)
}
  1. 跨域資源共享(CORS) 是一個W3C標準,全稱(Cross-origin resource sharing),她是允許瀏覽器向跨源服務器,發(fā)出XMLHttpRequest請求,從而克服了AJAX只能同源使用的限制。

1、請求方式為HEAD、POST 或者GET
2、http頭信息不超出以下字段:Accept、

  1. 反向代理 使用代理 使用web服務器代理請求地址
devServer:{
  proxy:{
  "/api" : {
      target:'http://192.168.50.127:8082',
      changeOrigin:true,
      pathRewrite:{
         ['^' + '/api'] : ''
      }
    }
  }
}

JSONP和JSON 沒有關(guān)系
JSONP是一種社區(qū)跨域解決方案(不屬于語言標準)
JSONP不屬于任何標準 依賴某些可以跨域的屬性實現(xiàn)功能

JSONP實現(xiàn)跨域的核心思路是:

動態(tài)的創(chuàng)建script元素 將需要請求的路徑寫在src屬性中
利用src屬性不受同源策略限制的特點發(fā)送get請求
請求的結(jié)果會被瀏覽器識別是js代碼 執(zhí)行得到結(jié)果

src屬性不受同源策略的限制:可以使用帶有src屬性的元素來發(fā)送請求 請求的類型get

例如:
<img src="">
<iframe src="">
<script src=""></script>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、什么是跨域,為什么會出現(xiàn)跨域問題。 前面兩篇文章cookie了解一下?,網(wǎng)絡攻防(xss/csrf/xsrf)...
    baron65閱讀 1,434評論 0 1
  • cors 1、有兼容性問題。 2,通過后端設置響應頭(Access-Control-Allow-Origin),里...
    怪蜀黍_ee0d閱讀 425評論 0 0
  • 同源:協(xié)議、域名、端口相同 跨域通信: js進行DOM操作,通信時如果目標與當前窗口不滿足同源條件,瀏覽器為了安全...
    silly鴻閱讀 660評論 0 1
  • ajax作為前端開發(fā)必需的基礎(chǔ)能力之一,你可能會使用它,但并不一定懂得其原理,以及更深入的服務器通信相關(guān)的知識。在...
    蕭玄辭閱讀 887評論 0 0
  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友。感恩相遇!感恩不離不棄。 中午開了第一次的黨會,身份的轉(zhuǎn)變要...
    余生動聽閱讀 10,895評論 0 11

友情鏈接更多精彩內(nèi)容