久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Spring Boot如何通過CORS處理跨域問題

瀏覽:3日期:2023-09-11 16:18:01

跨域的產生就是因為瀏覽器的同源策略。它是瀏覽器的核心安全功能,所謂的同源,就是指域名,協議,還有端口要相同。傳統的方案就是JSONP(前端處理方案),但是JSONP有很大的局限性,就是只支持GET請求,所以不能滿足我們的需求,而CORS(Cross-origin-resource sharing)跨域資源共享,就可以解決這個問題。他是一個瀏覽器規范,一個w3c標準,提供web服務從不同網域傳來的沙盒腳本的方法,避開了瀏覽器的同源策略。

CORS是后端的一種處理的方案,在Spring中可以配置解決跨域,在Spring Boot中它的配置變得很簡單,只需要在你controller方法上加一個注解@CrossOrigin(origins='你的請求地址')就好了。

跨域資源共享(CORS) 是一種機制,它使用額外的 HTTP 頭來告訴瀏覽器 讓運行在一個 origin (domain) 上的Web應用被準許訪問來自不同源服務器上的指定的資源。當一個資源從與該資源本身所在的服務器不同的域、協議或端口請求一個資源時,資源會發起一個跨域 HTTP 請求。

比如,站點 http://domain-a.com 的某 HTML 頁面通過 <img> 的 src 請求 http://domain-b.com/image.jpg。網絡上的許多頁面都會加載來自不同域的CSS樣式表,圖像和腳本等資源。

出于安全原因,瀏覽器限制從腳本內發起的跨源HTTP請求。 例如,XMLHttpRequest和Fetch API遵循同源策略。 這意味著使用這些API的Web應用程序只能從加載應用程序的同一個域請求HTTP資源,除非響應報文包含了正確CORS響應頭。

如果方法百十來個,那這種的就不適用,因此可以做一個全局配置,統一處理

@Configuration//ctrl+o找一下這個方法public class WebMVcConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping('**').allowedOrigins('http://localhost:8081') .allowedHeaders('*') .allowedMethods('*') .maxAge(30*1000); }}

后端代碼處理的話就是這樣,但是還有其他方法,例如nginx,例如node.js,都可以處理,但是這兩個第三方工具的用處很多,如果僅僅局限在處理跨域,那就有點大材小用。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 板桥市| 介休市| 蒲城县| 朔州市| 寿阳县| 本溪市| 尼勒克县| 新密市| 丰都县| 青海省| 沅陵县| 苍梧县| 利川市| 无棣县| 邵武市| 万年县| 岱山县| 镶黄旗| 澎湖县| 怀安县| 张家港市| 苏州市| 天津市| 康定县| 蕉岭县| 南汇区| 若尔盖县| 遵化市| 郸城县| 伽师县| 凭祥市| 曲松县| 澳门| 苗栗县| 什邡市| 磐安县| 台州市| 溧阳市| 抚宁县| 吴堡县| 县级市|