北京建站推廣全網(wǎng)推廣公司
1.什么是跨域?
瀏覽器從一個(gè)域名的網(wǎng)頁(yè)去請(qǐng)求另外一個(gè)域名的資源時(shí),域名、端口或者協(xié)議不同都是跨域
2.跨域的解決方案
- 設(shè)置CORS響應(yīng)頭∶后端可以在HTTP響應(yīng)頭中添加相關(guān)的CORS標(biāo)頭,允許特定的源(域名、協(xié)議、端口)訪問(wèn)資源。Spring Boot項(xiàng)目中,可以通過(guò)配置CorsFilter Bean或者Web攔截器(實(shí)現(xiàn)WebMvcConfigurer接口)實(shí)現(xiàn),不依賴第三方服務(wù)
- 使用代理服務(wù)器:可以使用Nginx反向代理,通過(guò)add_header給后端響應(yīng)添加Access-Control-Allow-Origin頭,不改代碼實(shí)現(xiàn)跨域。
- @CrossOrigin注解?:Spring Boot項(xiàng)目可以直接在對(duì)應(yīng)的Controller或接口方法上添加@CrossOrigin注解實(shí)現(xiàn)跨域,但這種方式對(duì)代碼的侵入性較大。
一般我會(huì)選用第二種方式,不需要考慮特定的后端接口實(shí)現(xiàn)代碼,是一種更通用的解決跨域的方法。