为什么对 Azure Blob 存储使用 HTTPS

Why use HTTPS for Azure Blob Storage

我有一个 ASP.NET 网站,它需要登录并在所有页面上使用 SSL 来保护用户的凭据和身份验证 cookie。假设一页的图像元素具有以下 src:

https://mystorageaccount.blob.core.windows.net/mycontainer/myimage.jpg?sv=...

这会使用限时共享访问签名从 Azure 存储上的私有 blob 容器请求图像文件。我不是特别希望这张图片被截取。但是,对这个请求使用 HTTPS 有什么意义吗?中间人肯定可以在 SAS 时间范围内使用 URL 本身来接收图像吗?

我意识到更安全的选择是从存储服务器端获取图像,并仅将其提供给经过身份验证的用户,但速度很重要,所以我想避免这种情况。我的问题是,当浏览器直接从 Azure 存储请求图像时,HTTPS 有什么好处还是我应该改用 HTTP?

我绝对可以想到一个好处,那就是避免 Mixed Content 警告。

此外,请注意,如果您通过先从存储中获取内容来提供来自应用程序服务器的内容,您将失去 CDN 个好处。

使用 HTTPS,安全连接在传输任何 HTTP 流量之前在 TCP 层完成。仅提交主机名和端口号是不安全的(因为它们用于建立 TCP 连接),然后一旦建立安全连接,然后剩余的 HTTP 内容(URL 的路径部分和任何查询参数)通过 HTTPS 安全提交。

维基百科的 HTTP 文章中对此进行了全部解释 - http://en.wikipedia.org/wiki/HTTPS