在 AWS S3 中,存储桶(bucket)后的路径就是所存储对象的 key,这个 key 就像文件系统中的路径一样,可以用 / 分隔。但是,与文件系统,或者 Web 中的 URL 不同的是,在 AWS S3 中 /// 是不等价的。

因为,key 中多一个斜杠或少一个斜杠就是两个不同的 key 了,AWS S3 中的 key 只是形式上可以像文件系统一样组织文件对象,但并不会像文件系统一样把 /// 等同看待。这是 AWS S3 的一个特性,而且 AWS S3 也确实允许用户在 a/b 以及 a//b 两个 key 上上传不同的对象。

如,通过以下网址可以访问到本文:

而多加一个 / 则不行:

参考:AWS Developer Forums: double slash("//") a valid url ? …