精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

前后端分離后,Java Web開發如何解決跨域問題

開發 前端
因為一般的瀏覽器都有一個安全機制,叫做同源策略限制。所謂同源策略就是指用戶輸入的URL中包含的協議、域名、端口都完全相同。也就是說,我們使用瀏覽器訪問網頁時,必須符合同源策略的請求才能訪問。如果有一項不同,瀏覽器會覺得有安全風險,就不想讓你使用這個接口的數據。

做Web開發,經常會遇到跨域問題,小伙伴們在面試中,也經常被問到。這不,又有一位工作3年的小伙伴被問到這樣一道題,說前后端分離后,如果解決跨域問題。

今天,我給大家分享一下我的理解。

這個問題也有很多小伙伴單獨問過我,很多小伙伴知道如何解決跨域問題,但是卻說不清楚跨域到底是怎么產生的。所以,回答跨域解決方案之前,我們先來介紹一下跨域產生的原因。

1、產生原因

因為一般的瀏覽器都有一個安全機制,叫做同源策略限制。所謂同源策略就是指用戶輸入的URL中包含的協議、域名、端口都完全相同。也就是說,我們使用瀏覽器訪問網頁時,必須符合同源策略的請求才能訪問。如果有一項不同,瀏覽器會覺得有安全風險,就不想讓你使用這個接口的數據。

圖片

比如,在http://localhost:8080/index 頁面中,用Ajax訪問https://localhost:8081/index.json接口數據的時候,這兩個URL的協議和端口不相同,也就是不同源,這就產生了跨域訪問。當然,瀏覽器還是會將這個請求發送到后臺服務器,但是,瀏覽器不會接收服務器響應結果。

圖片

舉個更通俗的例子,就好比你去肯德基點餐,非要點一碗蘭州拉面,店員雖然很鄙視你,但他還是會打電話問一下蘭州拉面館問一下,蘭州拉面館說不給肯德基供貨。所以,你沒有吃到蘭州拉面。這其中,有個反常的操作,就是雖然你點的蘭州拉面,但是肯德基店員還是幫你打電話問了,是拉面館不給肯德基供貨的,如果拉面館說給肯德基供貨而且把面送過來了,那么你就能吃到蘭州拉面了。

圖片

這個案例中,店員就相當于是瀏覽器,肯德基呢就相當于當前看到的網頁,蘭州拉面館就是相當于后臺服務的接口。肯德基和蘭州拉面不是同一個老板,相當于是不同源。拉州拉面就是你想要的接口數據。

但如果使用Postman等開發工具進行交互是不會出現跨域問題的,這是瀏覽器特有的限制。

其實,跨域問題也并不是前后端分離后才有的,后端開發的程序員一般都遇到過跨域問題。只是前后端分離開發以后,前端開發體現跨域問題更加明顯了,經常要找后端開發人員來解決。

2、預檢請求

為了支持跨域訪問,瀏覽器設置了預檢機制。也就是說在發出跨域請求時, 瀏覽器會自動發出一個查詢請求,稱為預檢請求, 用來確認目標資源是否支持跨域。

圖片

如果請求要滿足以下條件,瀏覽器才不會發送預檢請求:

圖片

(1)請求方法是GET 、PosT .HEAD其中任意一個

(2)請求頭中包含Accept、Accept-Language、Content-Language、Content-Type、DPR、Downlink、Save-Data、Viewport.Width、Width字段。

(3)Content-Type的值是text/plain 、multipart/form-data ,application/x-ww-form-urlencoded 中任意一個。

圖片

但是,在實際項目開發中,我們請求的Content-Type一般是是text/html、application/json等格式,或者使用自定義請求頭,都會觸發預檢請求。

瀏覽器獲取到預檢請求的響應結果之后,判斷服務器如果授權允許訪問這個資源,就會再次請求真正的URL,如果不允許就會報這樣一個錯。

has been blocked by CORS policy : No 'Access-contro1-A11ow-Origin' header is present on the requested resource.

3、如何解決

我們可以利用瀏覽器的預檢機制。

圖片

我只需要在后端服務添加CORS策略的配置就可以解決跨域問題。CORS全稱是Cross Origin Resource Sharing,翻譯過來叫做跨域資源共享。具體解決方案,有以下4種:

圖片

1)如果是普通的Web項目,只需要在服務的根目錄下添加一個crossdomain.xml文件即可。文件格式如下:

<?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <site-control permitted-cross-domain-policies="all"/> <allow-access-from domain="*"/> <allow-access-from domain="*"/> <allow-http-request-headers-from domain="*" headers="*"/> </cross-domain-policy>

當然,使用這種方式不夠靈活,在授權過度的情況下,會存在一些安全隱患。

圖片

2)如果是Spring項目的話,可以添加一個處理跨域的過濾器或者攔截器。如代碼所示:

public class CorsFilter implements Filter { @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) res; response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Headers", "x-requested-with"); chain.doFilter(req, res); } }

圖片

3)如果是Spring Boot項目的話,只需要在方法上添加@CrossOrigin注解即可,如代碼所示:

@GetMapping("/list") @CrossOrigin public List<String> list(){ ... }

如果需要支持跨域的方法非常多情況下,可以添加過濾器,比Spring更簡潔,如代碼所示:

圖片

@Configuration public class CorsConfig { @Bean public CorsFilter corsFilter(){ CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedOrigin("*"); corsConfiguration.addAllowedHeader("*"); corsConfiguration.addAllowedMethod("*"); UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**",corsConfiguration); return new CorsFilter(source); } }

圖片

4)Spring Boot項目還有一種更方便的方式,可以實現WebMvcConfigurer接口來實現跨域支持,如代碼所示:

圖片

@Configuration public class CorsConfiguration implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowed0riginPatterns( "*") .allowedMethods("GET","POST","PUT""DELETE""HEAD","OPTIONS") .allowCredentials(true)I .maxAge(3600) .allowedHeaders("*");l } }

只需要重寫addCorsMapping() 方法就可以了。

以上就是對Java Web跨域問題的解決方案。

責任編輯:武曉燕 來源: Tom彈架構
相關推薦

2022-02-22 11:54:05

跨域項目前后端

2022-09-06 10:26:38

前后端分離Vue跨域

2021-06-06 13:05:15

前端跨域CORS

2024-10-29 16:41:24

SpringBoot跨域Java

2022-03-11 10:01:47

開發跨域技術

2022-09-07 07:05:25

跨域問題安全架構

2023-02-15 07:03:41

跨域問題面試安全

2023-04-07 10:51:39

2019-06-12 19:00:14

前后端分離AppJava

2015-04-21 11:18:20

Web系統開發構架前后端

2022-05-27 10:40:04

前后端權限控制設計

2023-02-08 16:29:58

前后端開發

2021-03-08 08:16:42

MySQL分離架構

2017-08-20 12:49:59

瀏覽器跨域服務器

2020-08-13 08:04:31

配置跨域框架

2021-09-18 09:45:33

前端接口架構

2025-02-10 08:39:17

2023-11-20 08:02:49

2019-12-16 09:21:14

HTTPAPI認證

2025-01-02 09:48:52

JVMCARD_元素
點贊
收藏

51CTO技術棧公眾號

婷婷激情四射五月天| 91系列在线播放| 一级黄色片大全| 春暖花开亚洲一区二区三区| 国产亚洲成av人在线观看导航| 国产精品久久久久77777| 日韩精品123区| 国产精品网站在线看| 色综合天天综合网国产成人综合天 | www.污污视频| 国产极品人妖在线观看| 久久久噜噜噜久噜久久综合| 国产综合香蕉五月婷在线| 精品一区免费观看| 精品视频亚洲| 精品国产区一区| 狠狠热免费视频| 在线播放蜜桃麻豆| 久久久91精品国产一区二区精品| 成人久久一区二区| 欧美日韩乱国产| 天天综合亚洲| 亚洲欧美变态国产另类| 91av免费观看| 成人1区2区| 亚洲18色成人| 黄色录像特级片| 国产日本在线视频| 成人免费的视频| 成人久久久久久| 日韩精品一区不卡| 在线观看一区| 成人97在线观看视频| 91久久免费视频| jizzjizzjizz欧美| 欧美精品在线观看一区二区| wwwxxx黄色片| 91超碰国产在线| 亚洲免费成人av| 手机成人在线| 韩国三级av在线免费观看| 成人国产精品免费观看| 亚洲精品欧美日韩| 亚洲一区二区三区高清视频| 久久久水蜜桃av免费网站| 久久人91精品久久久久久不卡| 久草手机视频在线观看| 久久99青青| 亚洲精品狠狠操| 中文字幕第3页| 欧美视频三区| 日韩欧美一级二级| 手机在线国产视频| 99精品视频在线免费播放| 欧美午夜精品电影| 日本国产欧美一区二区三区| 欧美做爰爽爽爽爽爽爽| 久久综合99| 综合av色偷偷网| 嘿嘿视频在线观看| av影片在线一区| 永久免费看mv网站入口亚洲| 人妻av无码一区二区三区| 色吊丝一区二区| 日韩成人黄色av| 国产精品无码网站| 亚洲a级精品| 亚洲欧洲成视频免费观看| 一出一进一爽一粗一大视频| 偷拍视屏一区| 亚洲夜晚福利在线观看| 国产1区2区在线观看| 成人av国产| 日韩在线视频网站| 国产精品免费在线视频| 亚洲国产精品91| 欧美成人精品在线播放| 久久久久久久极品内射| 亚洲国产第一| 国产a∨精品一区二区三区不卡| 日韩精品久久久久久免费| 日韩中文字幕91| 91精品久久久久久久久中文字幕| 国产免费黄色大片| 成人av在线影院| 久久亚洲综合网| 成人全视频高清免费观看| 国产精品初高中害羞小美女文| 久久久久亚洲av无码专区喷水| 欧美6一10sex性hd| 色综合天天性综合| 中文字幕第88页| 2021年精品国产福利在线| 亚洲精品久久久久久久久久久| 波多野结衣av在线观看| 日韩国产一区二区三区| 欧美丰满老妇厨房牲生活| 91美女免费看| 久久精品国产久精国产爱| 99影视tv| 黄色国产在线| 夜夜嗨av一区二区三区四季av| 国模吧无码一区二区三区| 国产91亚洲精品久久久| 欧美v日韩v国产v| 国产黄色大片免费看| 午夜精品国产| 国产精品444| www.色播.com| 欧美激情综合在线| 精品一区二区三区无码视频| 91看片一区| 精品国产3级a| 伊人久久久久久久久久久久久久| 亚洲国产免费看| 国产伊人精品在线| 深夜福利在线看| 日本大胆欧美人术艺术动态| 91精品在线播放| 美丽的姑娘在线观看免费动漫| 亚洲免费在线观看| 无人在线观看的免费高清视频| 538任你躁精品视频网免费| 这里只有精品久久| 久久艹免费视频| 国产成人免费高清| 久久久国产精华液999999| 午夜影院在线观看国产主播| 日韩欧美中文字幕公布| 美女福利视频网| 天堂午夜影视日韩欧美一区二区| av成人在线电影| 久久五月精品| 欧美丝袜丝nylons| 欧美狂猛xxxxx乱大交3| 亚洲黄色在线| 国产富婆一区二区三区 | 在线播放国产一区中文字幕剧情欧美 | 亚洲一级黄色大片| 国产欧美一区二区在线| 男人揉女人奶房视频60分| 精品国内亚洲2022精品成人| 精品国产一区久久久| 成人黄色三级视频| 国产婷婷一区二区| 一本色道无码道dvd在线观看| 加勒比中文字幕精品| 久久久久久国产精品久久| 精品毛片一区二区三区| 亚洲日本丝袜连裤袜办公室| 欧美日韩在线观看不卡| 日韩精品第一区| 国产精品精品国产| av在线中文| 欧美丝袜丝交足nylons| 欧日韩不卡视频| 久久精品国产成人一区二区三区| 亚洲精品乱码视频| 欧美成a人片免费观看久久五月天| 一本色道久久综合亚洲精品小说 | 香蕉乱码成人久久天堂爱免费| 中国男女全黄大片| 国产精品二区影院| 国产精品区一区二区三在线播放| 国产桃色电影在线播放| 亚洲第一中文字幕| 丰满少妇乱子伦精品看片| 91亚洲精品乱码久久久久久蜜桃| 国产av麻豆mag剧集| 神马日本精品| 国产成人精品免费视频| www在线免费观看| 69堂精品视频| 欧美日韩免费做爰视频| 成人激情小说乱人伦| 国产精品国产亚洲精品看不卡| 日韩高清影视在线观看| 国产精品成人va在线观看| 日本中文字幕在线视频| 欧美一区二区三区视频免费| 久久久久99精品成人片毛片| av一区二区三区| 性欧美videossex精品| 综合一区av| 国产午夜精品一区| 精品视频一区二区三区四区五区| 久久精品男人天堂| 色香蕉在线视频| 欧美亚洲尤物久久| 亚洲国产精品久| 26uuuu精品一区二区| 美女一区二区三区视频| 欧美久久一区| 免费成人在线观看av| 香蕉久久久久久| 韩剧1988免费观看全集| 福利小视频在线观看| 日韩一级片在线播放| 超碰中文字幕在线| 亚洲日本va在线观看| avtt香蕉久久| 国产一区二区美女诱惑| heyzo国产| 亚洲国产精品日韩专区av有中文| 精品欧美一区二区在线观看视频 | 国产精品豆花视频| 日韩少妇中文字幕| 91成人福利| 国产欧美日韩精品丝袜高跟鞋| bl视频在线免费观看| 最近2019免费中文字幕视频三| 免费国产羞羞网站视频| 欧美视频精品在线| 欧美日韩精品区| 国产精品传媒入口麻豆| 人妻丰满熟妇aⅴ无码| 国产老妇另类xxxxx| 好男人www社区| 妖精视频成人观看www| 中文字幕一区二区三区乱码| 亚洲欧美成人vr| 国产精品久久波多野结衣| 精品九九久久| 欧美在线观看网站| a'aaa级片在线观看| 久久五月天综合| 阿v免费在线观看| 亚洲欧美日韩中文视频| 国产91免费看| 日韩欧美国产三级| 一二区在线观看| 在线观看日韩电影| 成人毛片在线播放| 五月激情综合婷婷| 精品在线免费观看视频| 亚洲人亚洲人成电影网站色| 懂色av粉嫩av浪潮av| 久久久99精品久久| 久久精品一区二区免费播放| 99久久99久久精品国产片果冻| 欧美一区二区三区影院| 激情丁香综合五月| 国产精品自在自线| 另类专区欧美蜜桃臀第一页| 国产免费人做人爱午夜视频| 亚洲一卡久久| 成人综合视频在线| 亚洲一区网站| 少妇高潮喷水久久久久久久久久| 亚洲经典在线| 国产美女在线一区| 亚洲高清免费| 成人一对一视频| 国产日韩一区二区三区在线| 成人性免费视频| 国产日韩欧美高清免费| 国产日韩一区二区在线| 国产亚洲精品v| 日韩精品一区二区三区久久| 欧美亚洲专区| 国产超碰在线播放| 美腿丝袜亚洲色图| 亚洲免费黄色录像| 国产一区不卡在线| 久久久久久久久久影视| www.av精品| 男女黄床上色视频| 欧美国产一区视频在线观看| 最新日韩免费视频| 亚洲精品中文在线影院| 麻豆亚洲av成人无码久久精品| 亚洲一区二区三区精品在线| 圆产精品久久久久久久久久久| 日本道精品一区二区三区| 91视频久久久| 欧美日韩国产一二三| 国产女18毛片多18精品| 精品欧美黑人一区二区三区| 天天综合网在线| 在线a欧美视频| 中文字幕有码在线观看| 国模精品视频一区二区| 日韩电影av| 91人成网站www| 国产精品天天看天天狠| 日本婷婷久久久久久久久一区二区| 成人黄色av| 欧美一区二区激情| 久久亚洲国产精品一区二区| 手机av在线网| av不卡免费在线观看| 少妇愉情理伦三级| 亚洲网友自拍偷拍| 国产成人精品一区二区色戒| 欧美一级日韩一级| 日本高清中文字幕二区在线| 日韩在线视频导航| а√天堂中文在线资源8| 国产精品吹潮在线观看| 中文字幕亚洲在线观看| 日本高清视频一区二区三区| 自拍视频亚洲| 日韩免费高清在线| 国产成人精品亚洲777人妖| 中文字幕国产专区| 伊人婷婷欧美激情| 成年人视频免费| 精品成人一区二区三区四区| 成人精品一区二区三区校园激情| 色综合久久久888| 制服诱惑亚洲| 国产一区二区三区色淫影院| 99国产精品免费视频观看| 国产在线播放观看| 国产精品一区专区| 国产精品av久久久久久无| 亚洲va天堂va国产va久| 一级片免费网站| 亚洲色图第三页| av在线播放资源| 亚洲综合中文字幕68页| 日韩久久综合| 激情五月开心婷婷| 99精品在线免费| 免费一级片在线观看| 欧美精品一卡二卡| 福利在线视频导航| 国产成人精品久久二区二区91 | 日韩一级免费观看| 亚洲成a人v欧美综合天堂麻豆| 欧美亚洲另类在线| 66精品视频在线观看| 老汉色影院首页| 麻豆精品在线观看| 永久免费av无码网站性色av| 精品日韩中文字幕| 欧美亚洲精品在线观看| 九九视频这里只有精品| 亚洲日本免费电影| 永久久久久久| 精品一区精品二区高清| 国产18无套直看片| 欧美性色综合网| 国产在线91| 国产精品激情av电影在线观看| 精品高清久久| 天美星空大象mv在线观看视频| 国产婷婷色一区二区三区在线| 一级成人黄色片| 亚洲美女视频网| av有声小说一区二区三区| 日本10禁啪啪无遮挡免费一区二区| 香蕉国产精品偷在线观看不卡| 日韩精品一区二区三区高清免费| 亚洲一区视频在线观看视频| 亚洲精品97久久中文字幕| 欧美激情综合色| 精品av导航| 国产极品美女高潮无套久久久| 国产亚洲成年网址在线观看| 中文有码在线播放| y97精品国产97久久久久久| 97色婷婷成人综合在线观看| 成年人三级视频| 成人av先锋影音| 台湾佬中文在线| 在线精品国产欧美| av在线播放一区二区| 久久久久久久久影视| 成人蜜臀av电影| 成人免费毛片视频| 色哟哟入口国产精品| 国产精品xnxxcom| 国产日本在线播放| 久久午夜老司机| 一区二区自拍偷拍| 久久99久国产精品黄毛片入口| jizz18欧美18| 999在线免费视频| 亚洲欧美成人一区二区三区| 人妻一区二区三区免费| 日本中文字幕久久看| 欧美xxav| 精品1卡二卡三卡四卡老狼| 色综合久久精品| 日本在线视频观看| 国产精品久久亚洲7777| 三级影片在线观看欧美日韩一区二区| 香蕉久久久久久久| 亚洲精品一区在线观看| 午夜精品成人av| 亚洲小视频在线播放| www亚洲一区| 国产精品人人爽| 97视频在线观看免费高清完整版在线观看| 你懂的一区二区三区| 在线视频日韩欧美| 日韩欧美一区二区三区久久| a级在线观看| 免费看污久久久|