本篇內(nèi)容主要講解“使用Java如何解決跨域問(wèn)題”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“使用Java如何解決跨域問(wèn)題”吧!
在大東等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需制作網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)整合營(yíng)銷推廣,外貿(mào)營(yíng)銷網(wǎng)站建設(shè),大東網(wǎng)站建設(shè)費(fèi)用合理。
跨域問(wèn)題
現(xiàn)在絕大多數(shù)公司的項(xiàng)目都是前后端分離的,前后端分離后勢(shì)必會(huì)遇到跨域問(wèn)題。如下圖
繼續(xù)debug發(fā)現(xiàn),reponse為undefined,提示消息為Network Error。
所以當(dāng)你和前端聯(lián)調(diào)的時(shí)候一直請(qǐng)求失敗,報(bào)網(wǎng)絡(luò)錯(cuò)誤,一般情況下是后端沒(méi)有做跨域配置。
注意此時(shí)并不是后端沒(méi)有收到請(qǐng)求,而是收到請(qǐng)求了,也返回結(jié)果了,但是瀏覽器將結(jié)果攔截了,并且報(bào)錯(cuò)。
同源策略
那么瀏覽器為什么會(huì)報(bào)錯(cuò)呢?
因?yàn)闉g覽器基于安全考慮而引入的同源策略
當(dāng)協(xié)議+域名+端口三者都相同時(shí),才不會(huì)產(chǎn)生跨域問(wè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)然是為了安全起見(jiàn),舉個(gè)例子,以銀行轉(zhuǎn)賬為例,看看你的錢是怎么沒(méi)的
這就是著名的CSRF攻擊(跨站請(qǐng)求偽造,當(dāng)然還有很多其他方式),還有如果第5步不對(duì)請(qǐng)求的來(lái)源進(jìn)行校驗(yàn),那么你的錢已經(jīng)被轉(zhuǎn)走了
html頁(yè)面中的如下三個(gè)標(biāo)簽是允許跨域加載資源的
如何解決跨域
雖然同源策略保證了安全,但一些合理的用途也會(huì)受到影響。解決跨域的方式有很多種,簡(jiǎn)單介紹2個(gè)
JSONP
JSONP主要是利用