我们正在创建由https保护的典型Web应用程序。为了能够缓存静态资源,我想通过http公开图像,javascript文件等。否则他们就不会被哄骗。从安全的角度来看,这是否可行?涉及的风险是什么?
编辑:我希望代理和浏览器缓存静态内容。实际上,这里最重要的问题是通过反向代理缓存此内容,因此我不必手动将静态内容分发到http服务器(反向代理)。
答案 0 :(得分:6)
通过http监听数据比https更容易。因此,在这方面,您应该考虑仅通过http传输不包含敏感信息的内容。
另一种思考方式:有人会窥探我公司徽标的形象吗?可能不是。
但是,假设您(无论出于何种原因)拥有客户的银行帐户详细信息的图片。你应该通过http传输吗?可能不是。
编辑: 再加上http&在某些浏览器中https请求您的客户会收到令人讨厌的弹出消息,通知他们某些内容未加密
答案 1 :(得分:2)
根据以下问题,可以缓存HTTPS内容。
答案 2 :(得分:0)
使用https,但使用http for JavaScript。怎么会不是一个坏主意?
除了机密性外,https还可以保护流量的完整性。事实证明,几乎在任何地方你都可以放弃网络连接,你可以将这个漏洞升级为恶意腐败。
从可用性的角度来看,(好的)浏览器会将包含http组件的任何https页面标记为不安全。
答案 3 :(得分:0)
我想通过http公开图片,javascript文件等。 否则他们就不会被哄骗。从安全的角度来看,这是否可行? 涉及的风险是什么?
如果您在页面上混合使用http和https内容,则该页面本质上是不安全的。假设您的页面是通过https提供的,并且有一个表格可以将数据发送到您的网络服务器。现在因为您的JS是通过http发送的,所以中间人可以替换其内容并添加一行来更改表单的action参数。这样,他就可以将数据发布到他的服务器而不是你的服务器上。
为防止出现这种情况,浏览器会弹出混合内容警告。它对可用性不利,但从安全角度来看,它们是完全正确的。
如果您担心安全问题,请不要混用http和https。如果您关注缓存 - 可以缓存https响应。如果您有正确的标题,浏览器会这样做。我猜中间代理也会这样做。也许你可以列出你正在使用的代理,有人可以评论它的缓存策略。