9 月 13 日,2025 Inclusion・外滩大会「开源嘉年华」正在限量报名中! 了解详情
写点什么

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

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

关注

评论

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

移动办公安全告急?融云 x 海泰方圆,给即时通讯加把「安全锁」

融云 RongCloud

[Day31-03]-[二叉树] BST树中的众数

方勇(gopher)

LeetCode 数据结构和算法

[Day31-04]-[二叉树]二叉树的堂兄弟节点

方勇(gopher)

LeetCode 数据结构和算法

在线Excel转JSON工具

入门小站

工具

关于人才的招聘的一些看法(31/100)

hackstoic

团队管理 招聘

架构实战营作业四

库尔斯

#架构实战营

架构训练 模块4作业

小马

「架构实战营」

Java 从一个 List 中删除 null 元素

HoneyMoose

2020年底跳槽面试5家大厂,最后收获拼多多Java岗offer,分享三面总结!

爱好编程进阶

Java 程序员 后端开发

高精度在线计时器(秒表)

入门小站

工具

Gitea 的简单介绍

HoneyMoose

决战摸鱼之巅:将vscode撸成可局域网联机对战的moba平台

gamedilong

前端 vscode nodejs Node 摸鱼

[Day32]-[二叉树]二叉树中的最大路径和

方勇(gopher)

LeetCode 二叉树 数据结构和算法

在 ABAP 技术栈里实施 Continuous Integration 的一些挑战

汪子熙

DevOps 持续集成 abap 5月月更 持续优化

GitOps指南

俞凡

DevOps gitops

vivo X80系列高端爆款之路:火把照耀在无人区

脑极体

linux之秘钥登录

入门小站

Linux

手撕阿里 Spring 框架:AOP、IOC、注解、事务,带你统统拿下

Java架构追梦

Java spring 程序员

2020最新版Java学习路线图--妈妈再也不用担心我误删数据库被开除了

爱好编程进阶

Java 程序员 后端开发

2021年九月最新Java面试必背八股文,338道最新大厂架构面试题

爱好编程进阶

Java 程序员 后端开发

2021最新一次Java面试,快手三面一轮游,如今已拿意向书

爱好编程进阶

Java 程序员 后端开发

pinpoint插件开发之二:从零开始新建一个插件

程序员欣宸

Java 分布式 4月月更

2020面试官会经常问到的三个并发工具类,你都知道吗?

爱好编程进阶

程序员 后端开发

Sentinel集群限流探索

艾小仙

sentinel 分布式限流 集群

nginx配置系列(三)日志配置

乌龟哥哥

4月月更

C++类设计和实现的十大最佳实践

俞凡

c++ 最佳实践

2021最新分享字节四面成功拿Offer!

爱好编程进阶

Java 程序员 后端开发

网站开发进阶(一)Tomcat域名或IP地址访问配置详解

No Silver Bullet

tomcat 网站建设 5月月更

11-SpringSecurity:Session共享

爱好编程进阶

Java 程序员 后端开发

阿里架构师耗时 176 天整理出来的 Java 独家面试题(10 万字面试总结)

Java架构追梦

程序员 java面试 后端开发

2021最强面试笔记非它莫属:3000字Java面试核心手册(大厂必备

爱好编程进阶

Java 程序员 后端开发

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