写点什么

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:285215
用户头像

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

关注

评论

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

@所有人,2023开放原子开发者大会议题征集火热进行中!

开放原子开源基金会

开源 开发者大会

赣州有资质等保测评机构有几家?咨询电话多少?

行云管家

等保 等级保护 等保测评 赣州

记一次老商家端应用内存突然飚高原因分析 | 京东物流技术团队

京东科技开发者

企业号10月PK榜 fullGC 内存飙升

中移链浏览器简介

BSN研习社

后期云端制作:激发影视行业创新力的新时代

Finovy Cloud

影视制作 云渲染 后期制作

Mac系统的防病毒软件推荐Antivirus Zap - Virus Scanner 最新中文版

胖墩儿不胖y

Mac软件 杀毒软件 mac系统维护软件

Java基础面试题【MyBatis】

派大星

Java 面试题

好用的全局代理客户端 Proxifier for Mac

展初云

Mac 代理 Mac软件 Proxifier

VMware Workstation 17安装教程:安装系统

小齐写代码

浅谈搜索展现层场景化技术-tanGo实践

百度Geek说

企业号10月PK榜 搜索场景化 展现层技术 阿拉丁

Java模块化应用实践之精简JRE | 京东云技术团队

京东科技开发者

Java jre 企业号10月PK榜 Java21

mybatis plus很好,但是我被它坑了!

越长大越悲伤

Java MySQL mybatis Mybatis Plus

代币开发工具:从 Truffle 到 Hardhat

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

编程和数学计算软件MATLAB R2023b for Mac

展初云

Mac matlab Mac软件

PHP/MySQL开发本地服务器 MAMP Pro for Mac

展初云

Mac软件 开发软件 MAMP

App 支付报错“商家订单参数异常,请重新发起付款“排查流程

盐焗代码虾

支付宝 支付宝报错 排查思路 APP支付

涛思数据与胜软科技达成战略合作,共同赋能石油行业数字化转型

TDengine

tdengine 时序数据库

Downie 4 for Mac(视频下载软件) 4.6.33和谐直装版

mac

视频下载工具 Downie4 苹果mac Windows软件

超实用的企业防范数据泄露小技巧!

行云管家

数据 数据安全 数据泄露 企业数据

逻辑漏洞挖掘之CSRF漏洞原理分析及实战演练 | 京东物流技术团队

京东科技开发者

CSRF 安全测试 漏洞分析 逻辑漏洞 企业号10月PK榜

Linux 性能调优之网络优化

山河已无恙

网络优化 网络性能优化 10月月更

浅析Redis大Key | 京东云技术团队

京东科技开发者

redis key redis 底层原理 企业号10月PK榜

mac电脑屏幕调节亮度软件 Lunar pro 激活最新版

mac大玩家j

Mac软件 屏幕亮度调整工具 屏幕管理软件

CodeWhisperer 初体验

亚马逊云科技 (Amazon Web Services)

Python 人工智能 sql 云上探索实验室 Amazon CodeWhisperer

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