AICon 深圳站聚焦 Agent 技术、应用与生态,大咖分享实战干货 了解详情
写点什么

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

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

关注

评论

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

Go+ 结构体方法定义教程

liuzhen007

28天写作 12月日更

如何让TiDB在云上智能运维 (TiDB Hackathon 赛题)

如果迎着风就飞

云原生 operator TiDB Operator 存储上云

低代码实现探索(十)流程执行器

零道云-混合式低代码平台

Dubbo 框架学习笔记十五

风翱

dubbo 12月日更

过冬

搬砖的周狮傅

随笔杂谈

为什么很难得出结论

将军-技术演讲力教练

启梦行动再扬帆 | 2021启智社区优秀项目&优秀开发者评选结果重磅揭晓

OpenI启智社区

启智社区 优秀开发者 优秀开源项目

Dubbo 框架学习笔记十四

风翱

dubbo 12月日更

记录与 Electron 的第一次亲密接触

何佩弦

跨平台 Electron

26《重学JAVA》--网络编程之Socket类

杨鹏Geek

Java25周年 28天写作 12月日更

一文了解 Redis 内存监控和内存消耗

程序员历小冰

redis 28天写作 12月日更

软件设计之非功能性

xcbeyond

软件设计 28天写作 12月日更 非功能性

Go 语言快速入门指南:第七篇 方法

宇宙之一粟

12月日更

性能分析之Linux系统平均负载案例分析

zuozewei

Linux 性能分析 12月日更

.NET中的Husky工具

喵叔

28天写作 12月日更

react源码解析18事件系统

buchila11

React

基于流程管理,提高工作质量和效率

流程管理

从AI前沿到科技自立:百度大脑的风向标意义

脑极体

HarmonyOS(鸿蒙)——滑动事件之上下左右滑动

李子捌

28天写作 21天挑战 鸿蒙开发 12月日更

百度智能云 AI 公有云服务市场,连续五次第一!

百度大脑

人工智能

低代码实现探索(十一)流程中的动作执行器

零道云-混合式低代码平台

盘点2021(一)

圣迪

复盘 盘点 2021

绘制监控页面的一些最佳实践

耳东@Erdong

最佳实践 监控 28天写作 12月日更

完蛋,我的事务怎么不生效?

秦怀杂货店

MySQL 数据库 事务 事务失效

为什么?为什么要先问目的?(27/28)

赵新龙

28天写作

2021年全国人工智能大赛正式启动,396万奖金等你报名!

OpenI启智社区

人工智能大赛

黑客是怎么盗取你的密码的?

喀拉峻

黑客 网络安全

滴滴数据通道服务演进之路

Kafka中文社区

慢跑的正确打开方式

wood

跑步 28天写作

性能即天元:vivo S12的落子与棋局

脑极体

c语言学习笔记2021/12

姬翔

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