【发布时间】:2017-11-04 14:54:11
【问题描述】:
我想知道使用 POST 或 PUT 请求将文件上传到 Amazon Web Services S3 的优缺点。
我已经阅读过一些类似this one 的 SO 问题,但我想知道使用 AWS API 时的具体区别。
我设法同时使用了两者,但几乎看不出区别。我通过 AJAX 和 XMLHTTPRequest 对象同时使用 PUT 和 POST,通过 node.js 后端生成签名直接从浏览器上传。
我注意到的不同之处在于,当我生成签名时,我无法使用 PUT 限制服务器端的内容类型和长度,但这可能是因为我现在只是在学习它。
【问题讨论】:
-
在API设计指南方面,POST请求用于向服务器发送数据,例如客户信息、文件上传等,使用HTML表单。并且 PUT 请求用于将目标资源的所有当前表示替换为上传的内容。
-
是的,但我的问题更具体的是 AWS。我想要将两者与 AWS S3 一起使用的利弊
-
我注意到的不同之处在于,当我生成签名时,我无法使用 PUT 限制服务器端的内容类型和长度。 问:您使用的是 Signature Version 2还是4? V4 签名可以通过查看
Authorization: AWS4-HMAC-SHA256 ...(如果使用标头)或X-Amz-Algorithm=AWS4-HMAC-SHA256(如果使用查询字符串)来识别。 -
我正在使用签名 V4
标签: javascript ajax amazon-web-services amazon-s3