跨域
瀏覽器同源策略 1995年,同源政策由 Netscape 公司引入瀏覽器。目前,所有瀏覽器都實(shí)行
這個(gè)政策。 最初,它的含義是指,A網(wǎng)頁(yè)設(shè)置的 Cookie,B網(wǎng)頁(yè)不能打開(kāi),除非這兩個(gè)網(wǎng)
頁(yè)"同源"。所謂"同源"指的是"三個(gè)相同"。
協(xié)議相同 http https
域名相同 www.xdclass.net
端口相同 80 81
一句話:瀏覽器從一個(gè)域名的網(wǎng)頁(yè)去請(qǐng)求另一個(gè)域名的資源時(shí),域名、端口、協(xié)議任一不同,都是跨域
瀏覽器控制臺(tái)跨域提示:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'null' is therefore not allowed access.
解決方法
- JSONP
- 頁(yè)面這層再包裝一層服務(wù),目前最多就是nodejs
- Http響應(yīng)頭配置允許跨域
nginx代理服務(wù)器
后端程序代碼配置
程序代碼中處理 SpringBoot 通過(guò)攔截器配置
//表示接受任意域名的請(qǐng)求,也可以指定域名
response.setHeader("Access-Control-Allow-Origin",
request.getHeader("origin"));
//該字段可選,是個(gè)布爾值,表示是否可以攜帶cookie
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST,
PUT, PATCH, DELETE, OPTIONS");
response.setHeader("Access-Control-Allow-Headers", "*");