Spring Boot 跨域访问

2018-10-18  本文已影响34人  云师兄

什么是跨域访问

当一个资源从与该资源本身所在的服务器不同的域或端口请求一个资源时 ,资源会发起一个跨 域 HTTP请求。比如,站点 http://example-a.com 的某 HTML 页面通过 <img> 的 src 请求 ht甲://example-b.com/ 1mage.jpg。 网络上的许多页面都会加载来 自不同域的 css 样式表 、 图像和脚本等资源 。
W3C 制定了 CORS 的相关规范,见 https://www.w3.org/TR/cors/。 出于安全考虑,浏览器会限 制从脚本内发起的跨域 HTTP请求。 例如, XMLHtψRequest 和 Fetch 遵循同源策略。 因此,使用 XMLH叩 Request 或 Fetch 的 Web 应用程序只能将 HTTP 请求发送到其自己的域 。 为了改进 Web 应 用程序,开发人员要求浏览器厂商允许跨域请求。

如何识别是跨域行为

识别是否具有跨域行为,是由同游、政策决定的。 同游、政策由 N巳tscape公司引入浏览器。 目前, 所有浏览器都实行这个政策 。 所谓“同源”,指的是“ 三个相同” 。

在 Spring Boot 应用中允许踏域访问

在微服务的架构里面,由于每个服务都在其自身的源中运行,因此,很容易就会遇到来自多个 来源的客户端Web应用程序来访问服务的问题(即跨域访问) 。 例如,一个浏览器客户端从 “客户” 微服务器访问“客户”,并从“订单”微服务器访问订单历史记录, 这种做法在微服务领域非常 普遍。
SpringMVC 支持 CORS 的开箱即用的功能 。 主要有两种实现跨域访问的方式 。

上一篇下一篇

猜你喜欢

热点阅读