在Controller中看到@CrossOrigin ,这是什么?有什么用?为什么要用?

what?

@CrossOrigin是用来处理跨域请求的注解

先来说一下什么是跨域:

(站在巨人的肩膀上)

跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。

所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子:

http://www.123.com/index.html 调用 http://www.123.com/server.PHP (非跨域)

http://www.123.com/index.html 调用 http://www.456.com/server.php (主域名不同:123/456,跨域)

http://abc.123.com/index.html 调用 http://def.123.com/server.php(子域名不同:abc/def,跨域)

http://www.123.com:8080/index.html调用 http://www.123.com:8081/server.php(端口不同:8080/8081,跨域)

http://www.123.com/index.html 调用 https://www.123.com/server.php(协议不同:http/https,跨域)

请注意:localhost和127.0.0.1虽然都指向本机,但也属于跨域。

浏览器执行javascript脚本时,会检查这个脚本属于哪个页面,如果不是同源页面,就不会被执行。

当域名www.abc.com下的js代码去访问www.def.com域名下的资源,就会受到限制。

@CrossOrigin可以处理跨域请求,让你能访问不是一个域的文件。

注解 @CrossOrigin相关推荐

  1. java 跨域_springboot解决跨域CROS问题,用注解@CrossOrigin

    项目是springboot框架,前后端分离,需要跨域,当前前端可以用JSONP解决,但是java端如何解决呢? 因为是springboot框架,所以好多都可以用注解解决问题,所以就用到了@CrossO ...

  2. 注解@CrossOrigin解决跨域问题

    注解@CrossOrigin 出于安全原因,浏览器禁止Ajax调用驻留在当前原点之外的资源.例如,当你在一个标签中检查你的银行账户时,你可以在另一个选项卡上拥有EVILL网站.来自EVILL的脚本不能 ...

  3. 注解@CrossOrigin详解

    注解@CrossOrigin 出于安全原因,浏览器禁止Ajax调用驻留在当前原点之外的资源.例如,当你在一个标签中检查你的银行账户时,你可以在另一个选项卡上拥有EVILL网站.来自EVILL的脚本不能 ...

  4. springBoot跨域注解@CrossOrigin

    Spring Framework 4.2 GA为CORS提供了第一类支持,使您比通常的基于过滤器的解决方案更容易和更强大地配置它.所以springMVC的版本要在4.2或以上版本才支持@CrossOr ...

  5. 注解@CrossOrigin

    参考文章: 1.官方文档: https://spring.io/blog/2015/06/08/cors-support-in-spring-framework. 2. http://fanshuya ...

  6. springBoot CORS跨域注解@CrossOrigin

    1.概述 在任何现代浏览器中,随着 HTML5 和 JS 客户端的出现,跨域资源共享 (CORS)是一项相关规范,这些客户端通过 REST API 使用数据. 通常,服务于 JS 的主机(例如 exa ...

  7. SpringMVC注解@CrossOrigin解决跨域问题

    一般的,只要网站的[协议名protocol].[主机host].[端口号port]这三个中的任意一个不同,网站间的数据请求与传输便构成了跨域调用 跨域:浏览同源策略的造成,是浏览器对JavaScrip ...

  8. springboot解决跨域CROS问题,用注解@CrossOrigin

    项目是springboot框架,前后端分离,需要跨域,当前前端可以用JSONP解决,但是java端如何解决呢? 因为是springboot框架,所以好多都可以用注解解决问题,所以就用到了@CrossO ...

  9. 注解 @CrossOrigin(更容易理解 )

    先说明@CrossOrigin是用来处理跨域请求的注解,在Controller中添加此注解 跨域是什么: 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对JavaSc ...

最新文章

  1. 【 FPGA 】总线实现形式之三态门
  2. 【awk】用awk将Fasta文件序列变成一行
  3. linux 文件系统覆盖目录,Linux内核裁减及根文件系统定制
  4. Client Side Cache 和 Server Side Cache 的区别
  5. idea连接跳板机_跳板机服务(jumpserver)
  6. 【转】非常道-中小软件公司项目管理
  7. 老不死的笔,德国神设计!陪伴一辈子!不用墨水的金属永恒笔!
  8. Andriod编程之Environment类
  9. Python 函数式编程,从入门到放弃
  10. html5 background-size,css3 Background-size属性使用说明
  11. 黑马程序员,黑马论坛---云2期,已就业45人,平均薪水6806【8月23日更新】
  12. 查看Windows的激活到期时间、具体版本号等具体系统信息
  13. python剪辑_用python进行视频剪辑
  14. python中polyfit 之poly1d与polyval的含义
  15. 银行流水、财报、年报、电费分割单等各类文档一键提取,达观表格提取工具再升级!
  16. MIPI归纳---为什么阻抗为100欧姆
  17. android 项目编译报错 符号: 类 shape 位置: 程序包 android.widget
  18. 苹果x专用计算机下,电脑卡iPhoneX在线软件
  19. GD MCU的SWD和SCLK管脚被当成IO脚占用导致找不到设备
  20. 微信小程序————简易计算器

热门文章

  1. [转载] Java-forEach增强for循环是值传递规则详解
  2. 以下不属于计算机安全术语,基础知识(D).doc
  3. 3dmax批量导入obj_ArcGIS 与 3DMax 结合建模
  4. 在Python中使用一个元素创建一个元组
  5. pipedreader_Java PipedReader ready()方法与示例
  6. c struct 对齐_C中的struct大小| 填充,结构对齐
  7. ReentrantLock 中的 4 个坑!
  8. 【视频版】最新版Swagger 3升级指南和新功能体验!
  9. 第 6-4 课:MyBatis 核心和面试题(上)
  10. C语言函数指针的应用——自制谐波分析软件