2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Amazon 支持跨域资源分享功能 CORS,向 S3 上传不再需要代理

  • 2012-09-02
  • 本文字数:819 字

    阅读完需:约 3 分钟

9 月 1 日,Amazon AWS宣布:支持跨域资源分享(Cross-Origin Resource Sharing,简称CORS)。

CORS 是 W3C 标准化组织提出的一种规范机制,允许客户端的跨域请求。API 可以使用规范中定义的算法,请求跨域的资源。开发人员构建的web 程序,就可以请求提供主要内容的域之外其他域的内容。

AWS 指出:之所以要这样做,是因为 web 浏览器使用了同域策略,以保证内容的安全性。该缺省策略确保来自一个站点和域的脚本和其他主动内容不会与另一个位置的内容发生交互,以避免产生不可预期的危险行为。但在某些情况下,一个域的开发人员也许有很合理的原因,访问其他位置的资源。CORS 就是提供了这种机制,让开发人员告诉浏览器,允许这样的行为。

AWS 的这篇博客中提出:

  • 你可以使用 CORS 支持,使用 JavaScript 和 HTML 5 来构建 Web 应用,直接访问 Amazon S3 中的资源,而不再需要代理服务器做中转。
  • 可以使用 HTML 5 中的拖拽功能,直接向 S3 上传文件,展示上传进度,或是直接从 web 应用中更新内容。
  • 托管在不同域中的外部网页、样式表和 HTML 5 应用,现在可以引用存储在 S3 中的 web 字体或图片,让这些资源能被多个网站共享。

Attachments.me 的开发人员 Ben Core 尝试了 S3 提供的 CORS,指出要想这样做需要的几个步骤:

  1. 创建 CORS 配置清单 要说明允许访问 S3 中哪个 bucket。清单中要包括: - 哪些域允许访问 S3 的 bucket
  • 可以采取哪些动作(PUT, POST, GET, DELETE)
  1. 创建签名的 POST 参数
  2. 使用 CORS 完成浏览器端向 Amazon S3 上的上传。

Ben 给出了示例代码,并指出要注意以下几点:

  • 使用了 HTML 5 中的 FormData 对象,以完成多部分上传,该 API 允许开发者跟踪实时的上传进度。
  • 创建的有特定签名的 HTML POST 参数加入了 FormData 对象,使用的是 append() 方法。
  • 代码在 Chrome 扩展插件中运行,要想在更多浏览器中运行,需要再做些其他工作。

如果您使用了 Amazon 的 S3 作为自己互联网访问的存储,不妨尝试一下 CORS,也欢迎您在评论中分享您的使用经验和体会。

2012-09-02 21:285660
用户头像

发布了 479 篇内容, 共 182.2 次阅读, 收获喜欢 53 次。

关注

评论

发布
暂无评论
发现更多内容

过去60年145项全球开源系统杰出成果颁布,百度飞桨登榜!

飞桨PaddlePaddle

深度学习 paddle 飞桨

12月9-10日·上海线下·CSM认证周末班【提前报名特惠】“敏捷教练必修课”CST导师亲授

ShineScrum

扒一扒互联网Markdown的那些事儿

Java研究者

互联网 markdown 发展趋势

极致性能优化:前端SSR渲染利器Qwik.js | 京东云技术团队

京东科技开发者

性能优化 前端 前端性能 企业号11月PK榜 Qwik.js

UUID意想不到的block

FunTester

线上JAVA应用平稳运行一段时间后出现JVM崩溃问题 | 京东云技术团队

京东科技开发者

Java 定时任务 JVM 企业号11月PK榜

大模型训练中的安全风险与防范策略

百度开发者中心

图像识别 大模型 人工智能「

Java 利用JUC CountDownLatch 线程池Executors 实现多线程操作

javaNice

Java 多线程

微前端无界机制浅析 | 京东物流技术团队

京东科技开发者

前端 源码剖析 微前端 无界 企业号11月PK榜

Golang面试题从浅入深高频必刷「2023版」

王中阳Go

Go golang 面试题 大厂面经 最新面试题

如何使用 Loadgen 来简化 HTTP API 请求的集成测试

极限实验室

集成测试 loadgen 极限科技

什么是大模型?一文读懂大模型的基本概念

九章云极DataCanvas

你的停机真的优雅么?第二弹来袭 | 京东云技术团队

京东科技开发者

定时任务 数据一致性 企业号11月PK榜 停机

Util 应用框架快速入门(一)- 创建示例数据库

何镇汐

后端 开源框架

利用预训练模型优化大模型训练

百度开发者中心

深度学习 大模型 #人工智能

玩转不同语言的Docker打包方式

Kevin_913

docker build

倒计时丨3天后,我们直播间见!

谷云科技RestCloud

零代码

大家都在用的数据安全运维管理系统是哪家?有什么功能?

行云管家

数字化 数据安全 数据运维

大模型训练的自动化与弹性管线解决方案

百度开发者中心

大模型 深度学习、 #人工智能

大模型训练中的速度与效率优化

百度开发者中心

深度学习 大模型

Amazon支持跨域资源分享功能CORS,向S3上传不再需要代理_亚马逊云科技_郑柯_InfoQ精选文章