我目前在只能通过 https 访问的域上提供图像内容。在通过 http 访问的页面上使用 https 路径提供图像的缺点是什么?是否有任何缓存注意事项?我正在使用 HttpRuntime.Cache 对象来存储从数据库中检索的绝对图像路径。
如果图像只能通过 https 访问,我认为使用协议相关的 URL 没有任何好处?
是否有令人信服的理由为什么我应该设置一个单独的虚拟目录来通过 http 提供图像内容?
如果在 HTTP 页面中通过 HTTPS 提供的内容不是特别敏感,并且可以通过 HTTP 提供同样的服务,则没有缺点(可能是一些性能问题,不一定很多,并且缺少缓存,具体取决于您的服务器的配置方式:您可以缓存一些 HTTPS 内容)。
如果 HTTPS 上的内容服务器足够敏感以激发 HTTPS 的使用,那么这确实是一种不好的做法。
检查 HTTPS 是否被正确使用和使用完全是客户端及其用户的责任(这就是为什么从 HTTP 到 HTTPS 的自动重定向只是部分有用的原因,例如)。尽管其中一些与证书验证的技术有关,但 HTTPS 提供的许多安全性来自以下事实:用户:
从技术角度来看,第一点可以通过 HTTP 严格传输安全来解决。
第二个需要使用交互。如果您访问您银行的网站,它不仅必须是具有有效证书的网站,而且您还应该检查它是否确实是您银行的域名,例如。
在 HTTP 页面中嵌入 HTTPS 内容会破坏这一点,因为用户无法检查正在使用哪个站点,而实际上根本就使用了 HTTPS。在某种程度上,在 HTTPS 页面中嵌入来自第三方的 HTTPS 内容也会出现这个问题(这是3-D Secure的问题之一,它很可能使用 HTTPS 提供服务,但使用 iframe 并不能确定哪个站点实际上是使用可见的。)