SpringBoot中的跨域詳解
什么是跨域?
在瀏覽器上當(dāng)前訪問的網(wǎng)站,向另一個網(wǎng)站發(fā)送請求,用于獲取數(shù)據(jù)的過程就是跨域請求。
跨域,是瀏覽器的同源策略決定的,是一個重要的瀏覽器安全策略
用于限制一個 origin 的文檔或者它加載的腳本與另一個源的資源進(jìn)行交互,它能夠幫助阻隔惡意文檔,減少可能被攻擊的媒介,可以使用 CORS 配置解除這個限制。
什么是同源策略?
同源策略/SOP(Same origin policy)是一種約定,由Netscape公司1995年引入瀏覽器,它是瀏覽器最核心也最基本的安全功能
如果缺少了同源策略,瀏覽器很容易受到XSS、CSFR等攻擊
同源策略能夠限制以下行為:
- Cookie、LocalStorage 和 IndexDB 無法讀取
- DOM 和 JS對象無法獲得
- AJAX 請求不能發(fā)送
- 注意:跨域限制是瀏覽器的機(jī)制,如果直接在服務(wù)端請求,是不會觸發(fā)跨域限制的。
同源/不同源?
跨域解決方案:
- 通過jsonp跨域
- document.domain + iframe跨域
- location.hash + iframe
- window.name + iframe跨域
- postMessage跨域
- 跨域資源共享(CORS)
- nginx代理跨域
- nodejs中間件代理跨域
- WebSocket協(xié)議跨域
什么是跨域資源共享(CORS)?
CORS是一個W3C標(biāo)準(zhǔn),全稱是"跨域資源共享"(Cross-origin resource sharing)。
它允許瀏覽器向跨源服務(wù)器,發(fā)出XMLHttpRequest請求,從而克服了AJAX只能同源使用的限制。
普通跨域請求,只服務(wù)端設(shè)置Access-Control-Allow-Origin即可,前端無須設(shè)置;若要帶cookie請求,前后端都需要設(shè)置。
目前,所有瀏覽器都支持該功能,CORS也已經(jīng)成為主流的跨域解決方案。
NGINX代理跨域的原理
NGINX實(shí)現(xiàn)代理跨域的原理,實(shí)際就是把WEB項(xiàng)目和后端項(xiàng)目放到一個域中
這樣就不存在跨域問題了,NGINX根據(jù)請求地址去請求不同服務(wù)器,也就是真正干活的服務(wù)器上的資源。
到此這篇關(guān)于SpringBoot中的跨域詳解的文章就介紹到這了,更多相關(guān)SpringBoot跨域內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Jetty啟動項(xiàng)目中引用json-lib相關(guān)類庫報(bào)錯ClassNotFound的解決方案
今天小編就為大家分享一篇關(guān)于Jetty啟動項(xiàng)目中引用json-lib相關(guān)類庫報(bào)錯ClassNotFound的解決方案,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12struts1實(shí)現(xiàn)簡單的登錄功能實(shí)例(附源碼)
本篇文章主要介紹了struts1實(shí)現(xiàn)簡單的登錄功能實(shí)例(附源碼),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04Springboot應(yīng)用中過濾器如何修改response的header和body內(nèi)容
這篇文章主要介紹了Springboot應(yīng)用中過濾器如何修改response的header和body內(nèi)容問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07Java多條件判斷場景中規(guī)則執(zhí)行器的設(shè)計(jì)
近日在公司領(lǐng)到一個小需求,需要對之前已有的試用用戶申請規(guī)則進(jìn)行拓展。本文去掉if 判斷,試試用一個規(guī)則執(zhí)行器來替代它,感興趣的可以了解一下2021-06-06使用Spring?Security搭建極簡的安全網(wǎng)站教程
這篇文章主要為大家介紹了使用Spring?Security搭建極簡的安全網(wǎng)站教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06java后臺實(shí)現(xiàn)支付寶對賬功能的示例代碼
這篇文章主要介紹了java后臺實(shí)現(xiàn)支付寶對賬功能的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08