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

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

关注

评论

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

关于前端,你都会什么?

MonkeyZz

前端

From Java To Kotlin 2:Kotlin 类型系统与泛型终于懂了

Seachal

Java android kotlin 泛型 类型

Github 上最值得学习的 Springboot核心笔记,硬核简直了

Java spring Spring Boot 框架

NineData x 华为云正式上线

NineData

数据库 华为云 企业动态 语言 & 开发 NineData

C语言编程语法—输入与输出

芯动大师

函数 输入输出 6 月 优质更文活动

对线面试官-线程池(三)

派大星

Java 面试

阿里Java调优笔记爆火,7大模块优化实战,请查收

Java 性能优化 性能调优

BH1750 传感器实战教学 —— 硬件设计篇

矜辰所致

传感器 硬件设计实战 光照传感器 6 月 优质更文活动

2023-06-05:Redis官方为什么不提供 Windows版本?

福大大架构师每日一题

redis 福大大

从Docker和Kubernetes看Containerd

鲸品堂

Docker 容器 Containerd 企业号 6 月 PK 榜

原来kafka也有事务啊,再也不担心消息不一致了

JAVA旭阳

kafka

对比才知差距!海尔“精华洗”用实验告诉用户

脑极体

海尔

分析初识vue小案例

张三丰无极

6 月 优质更文活动

如何轻松应对复杂的分布式系统日志收集和分析

xfgg

ELK 日志收集架构 6 月 优质更文活动

快手严厉打击直播下收割麦行为:自媒体蹭热度不可违背公序良俗

石头IT视角

架构实战营模块 1 作业

銀色流星

架构实战营

GitHub星标20k+的Java指南,号称"Star收割机"

Java java面试 Java八股文 Java面试题 Java面试八股文

Docker技术架构概述

穿过生命散发芬芳

Docker 6 月 优质更文活动

基于STM32+NBIOT+华为云IOT设计的智能井盖

DS小龙哥

6 月 优质更文活动

什么是OSPF被动接口?如何配置?华为、思科、瞻博网络三厂商命令来了

wljslmz

OSPF 6 月 优质更文活动

DevOps| 研发效能团队和PMO团队如何合作共赢?

laofo

DevOps cicd 研发效能 持续交付 PMO

百度APP iOS端包体积50M优化实践(三) 资源优化

百度Geek说

ios 开发语言 Object-c 企业号 6 月 PK 榜 6 月 优质更文活动

Flink实例:电商用户行为实时分析

TiAmo

数据分析 电商 flink 实战 6 月 优质更文活动

WHATWG vs W3C

MonkeyZz

太赞了!阿里技术团队《Java 面试官手册》突击版对外开放!

Java java面试 Java八股文 Java面试题 Java面试八股文

学习MyBatis的异常处理机制

Java mybatis

建立互联网可靠性工程体系框架的思路

阿泽🧸

可靠性工程 6 月 优质更文活动

K8S | 核心原理分析

Java Docker 架构 Kubernetes k8s

什么是死锁?它是如何产生的?

javacn.site

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