当前位置: 首页 > news >正文

跨域解决方案CORS

跨域解决方案CORS

一、什么是跨域

 出于浏览器的同源策略限制。

 同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)

 如果跨域调用,会出现如下错误:

  image

 由于我们采用的是前后端分离的编程方式,前端和后端必定存在跨域问题。解决跨域问 题可以采用CORS 

二、CORS简介

 CORS 是一个 W3C 标准,全称是"跨域资源共享"(Cross-origin resource sharing)。

 CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE 浏览器不能低于 IE10。它允许浏览器向跨源服务器,发出 XMLHttpRequest 请求,从而克服了 AJAX只能同源使用的限制。整个 CORS 通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS 通信与同源的 AJAX 通信没有差别,代码完全一样。浏览器一旦发现 AJAX 请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。因此,实现 CORS 通信的关键是服务器。只要服务器实现了 CORS接口,就可以跨源通信。

 请求过程如下图:

  image

 Preflight Request:

Accept: */*
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8
Access-Control-Request-Headers: access-control-allow-originAccess-Control-Request-Method: GET
Connection: keep-alive
Host: localhost:8888
Origin: http://localhost:63342

 然后服务器端给我们返回一个PreflightResponse

Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: access-control -allow-originAccess-Control-Allow-Methods: GET, POST, DELETE, PUT
Access-Control-Allow-Origin: http://localhost:63342
Access-Control-Max-Age: 3600

 那么具体如何实现呢?springMVC的版本在4.2或以上版本,可以使用注解实现跨域。 我们只需要在Controller类上添加注解 @CrossOrigin 就可以了。

 

http://www.rkmt.cn/news/153530.html

相关文章:

  • 墨问终端脚本发布独立版 2.1,支持多图片上传
  • 2025最新!10个降AI率工具测评,本科生必看
  • 解题报告-P3081 USACO13MAR Hill Walk G
  • 实用指南:量子计算入门:Python量子编程基础
  • [吾爱大神原创工具] Net Tools-网络运维工具箱
  • HTTP请求方法
  • 工商注册服务推荐:选对公司,开启企业省心之旅
  • 2025年好吃的重庆香肠品牌排行,满足不同场合和个人喜好需求 - 讯息观点
  • 启用Qoder编写ztdaq的C#跨专业的平台示例总结
  • 8个AI论文软件推荐,继续教育学生轻松搞定毕业论文!
  • 2026全网精选,商用高清正版图片素材网站合集,无版权风险放心用 - 品牌2026
  • 学长亲荐9个AI论文工具,专科生毕业论文搞定!
  • 2025 十大图库推荐:自媒体、小红书、公众号正版配图素材平台合集 - 品牌2026
  • HR追着要的面试分析Agent!全网首发华为ModelEngine实战
  • 2025最新!继续教育必备9个AI论文平台深度测评
  • 微信小程序vue_uniapp动漫国漫交流系统动漫视频评论
  • 完整教程:Lyra学习001:从0开始学习 **Lyra Starter Game** 项目
  • zz MCP (Model Context Protocol),一篇就够了。
  • 微信小程序uniapp-vue劳务咨询系统知识百科考试
  • nt!PipAddDevicesToBootDriver函数分析之PCIIDEX!ControllerAddDevice什么时候被调用
  • 优质ProfiNet转CAN网关厂商与品牌推荐
  • 京东e卡回收平台怎么选?避坑指南来啦! - 京顺回收
  • 微信小程序uniapp-vue教材销售系统
  • 微信小程序uniapp-vue旅游景点酒店预订管理系统
  • Windows系统 32 位与 64 位系统核心差异解析
  • 电池资深厂商与正规供应商:为你解锁优质电池选购秘籍
  • 小白也能懂的Session:服务器如何“记住”你
  • 12.25 window的对象
  • 微信小程序uniapp-vue课程推荐报名学习付费平台
  • ProfiNet转CAN网关大型厂家与品牌商的选购指南