在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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

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

关注

评论

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

开启数字化转型新纪元,华为云引领轻量应用服务器创新

平平无奇爱好科技

初创企业太“烧钱”?华为云轻量应用服务器激活创业新思维

平平无奇爱好科技

华为云耀云服务器L实例助力企业行稳致远

平平无奇爱好科技

软件测试/人工智能|探究 LangChain 核心模块:PromptsModelsParsers

霍格沃兹测试开发学社

软件测试/人工智能|LangChain Memory模块:开启语言数据的存储与回忆之旅

霍格沃兹测试开发学社

什么是代理IP?代理IP有什么作用?

Geek_bf375d

爬虫 HTTP 跨境电商 IP\ #HTTP

快速渡过新手期!华为云服务器让小程序开发的试错成本更低

平平无奇爱好科技

性能优化的一般策略及方法

不在线第一只蜗牛

性能优化 优化 优化策略

GPTs大受欢迎但问题多,企服软件厂商的AI Agent更被B端客户器重

王吉伟频道

AI Agent AI智能体 RPA Agent GPTs RPA智能体

如何获取item_question_answer-淘宝评论问答列表api接口

技术冰糖葫芦

AI 模型编译器 API 文档 COMSOL Multiphysics

如何正确选型低代码、无代码、aPaaS平台?有这几个重点

互联网工科生

低代码 无代码 aPaaS

数字化红利进入“下半场” ,华为云耀云服务器L实例全力构建中小企业磁力场

平平无奇爱好科技

如何运用AppLink平台中的数据连接器组件

谷云科技RestCloud

MySQL APPlink

高效聚合 | AIRIOT智慧虚拟电厂管理解决方案

AIRIOT

智慧电厂 智慧工厂 数字化工厂

上传图片到京东api接口的申请步骤有哪些特别之处?

技术冰糖葫芦

AI 模型编译器 API 开发

随手写了个博客多平台发布脚本:Python自动发布文章到Wordpress

爱写字的阿城

大模型助力交互式数据挖掘的探索与发现

鲸品堂

数据挖掘 大模型

软件测试/人工智能|什么是LangChain,这篇文章告诉你

霍格沃兹测试开发学社

创业有术,烧钱有道丨华为云为初创企业指明发展之路

平平无奇爱好科技

凭实力碾压友商!中小企业网站建设盲选华为云这款轻量应用服务器

平平无奇爱好科技

Python读取Ansible playbooks返回信息

不在线第一只蜗牛

Python sql 表单设计

助力企业实现更简单的数据库管理,ATOMDB 与 TDengine 完成兼容性互认

TDengine

tdengine 时序数据库

通过亚马逊云科技云存储服务探索云原生应用的威力

亚马逊云科技 (Amazon Web Services)

云原生 S3 ebs 云存储服务 EFS

Web前端开发技术:图像与多媒体文件

不在线第一只蜗牛

前端 Web 图像处理

车家互联再获重磅突破,小度携手极越开启智能生活无限畅联新体验

新消费日报

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