什麼是跨域
跨域是指一個域下的文件或指令碼試圖去請求另一個域下的資源,當一個請求url的協議、域名、埠三者之間任意一個與當前頁面url不同即為跨域。
如下給出了跨域的幾種情況
http://www.a.com/https://ww.a.com/index.html跨域協議不同(http/https)http://www.a.com/http://www.b.com/跨域主域名不同(a/b) http://www.a.com/http://t.a.com/跨域子域名不同(www/t) http://www.a.com:8080/http://www.a.com:8090/跨域埠號不同(8080/8090)為什麼會有跨域問題核心原因在於瀏覽器的同源策略限制。同源策略(Sameoriginpolicy)是一種約定,它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,則瀏覽器的正常功能可能都會受到影響。
這裡有一個關鍵詞瀏覽器大家一定要記住,受跨域影響的只在瀏覽器範圍。無論是前端和後端一定要記住限制的宿主。因為之前的工作中曾經不止一次的有經驗不足的小夥伴問到,為什麼介面給app用沒問題,pc或者H5一調就不行,肯定是他們呼叫的問題。這裡再提醒一下,native呼叫介面的時候是沒有經過瀏覽器的。只有通過瀏覽器發起的ajax請求,在跨域的時候會受到同源限制。app navtive直接呼叫,或者server端發起的http請求等等均不會受到影響。
受到同源限制的範圍瀏覽器同源限制的地方主要有如下三處,因為本篇的標題已經明確是介面跨域相關所有後續的方案也只介紹ajax請求相關
以上內容如對您有所幫助,歡迎關注、轉發、收藏、評論。有任何問題或者建議也歡迎隨時反饋,大家一起交流溝通,後續會提供更多優質的內容給到各位愛好技術的夥伴,謝謝!
#前端框架##前端##開發##架構##Java#
最新評論