新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
配置跨域后,框架幫我們做了什么?
跨域問題

現(xiàn)在絕大多數(shù)公司的項(xiàng)目都是前后端分離的,前后端分離后勢(shì)必會(huì)遇到跨域問題。如下圖
繼續(xù)debug發(fā)現(xiàn),reponse為undefined,提示消息為Network Error。
所以當(dāng)你和前端聯(lián)調(diào)的時(shí)候一直請(qǐng)求失敗,報(bào)網(wǎng)絡(luò)錯(cuò)誤,一般情況下是后端沒有做跨域配置。
注意此時(shí)并不是后端沒有收到請(qǐng)求,而是收到請(qǐng)求了,也返回結(jié)果了,但是瀏覽器將結(jié)果攔截了,并且報(bào)錯(cuò)。
同源策略
那么瀏覽器為什么會(huì)報(bào)錯(cuò)呢?
因?yàn)闉g覽器基于安全考慮而引入的同源策略
當(dāng)協(xié)議+域名+端口三者都相同時(shí),才不會(huì)產(chǎn)生跨域問題,即同源。此時(shí)才能讀取到服務(wù)端的響應(yīng)
| 當(dāng)前url | 請(qǐng)求url | 是否跨域 |
|---|---|---|
| https://www.javashitang.com | http://www.javashitang.com | 是,協(xié)議不同 |
| https://www.javashitang.com | http://book.javashitang.com | 是,域名不同 |
| https://www.javashitang.com | http://www.javashitang.com:8000 | 是,端口不同 |
為什么要有同源策略呢?
當(dāng)然是為了安全起見,舉個(gè)例子,以銀行轉(zhuǎn)賬為例,看看你的錢是怎么沒的
這就是著名的CSRF攻擊(跨站請(qǐng)求偽造,當(dāng)然還有很多其他方式),還有如果第5步不對(duì)請(qǐng)求的來源進(jìn)行校驗(yàn),那么你的錢已經(jīng)被轉(zhuǎn)走了
html頁面中的如下三個(gè)標(biāo)簽是允許跨域加載資源的


咨詢
建站咨詢