Performance 为什么我们在向用户发送结果时需要HTTPS

Performance 为什么我们在向用户发送结果时需要HTTPS,performance,security,networking,https,Performance,Security,Networking,Https,我们需要HTTPS(网络上的安全/加密数据)的原因: 我们需要通过http+ssl加密安全地获取用户端数据(通过表单或URL,用户通过网络将数据发送到服务器),因此在这种情况下,只有表单或用户向服务器发布/发送数据的URL必须是安全的URL,而不是我发送到浏览器的页面[例如,当我需要从服务器本身发送客户注册表单时,我必须将其作为https url发送-如果我不这样做,浏览器将发出警告,如混合内容错误。相反,浏览器可能有某种参数来提及我的表单必须是安全url,这是错误的 在某些情况下,我的服务器

我们需要HTTPS(网络上的安全/加密数据)的原因:

  • 我们需要通过http+ssl加密安全地获取用户端数据(通过表单或URL,用户通过网络将数据发送到服务器),因此在这种情况下,只有表单或用户向服务器发布/发送数据的URL必须是安全的URL,而不是我发送到浏览器的页面[例如,当我需要从服务器本身发送客户注册表单时,我必须将其作为https url发送-如果我不这样做,浏览器将发出警告,如混合内容错误。相反,浏览器可能有某种参数来提及我的表单必须是安全url,这是错误的

  • 在某些情况下,我的服务器端内容不能被除我允许之外的任何人读取——因此,我可以使用https在服务器端提供具有额外安全措施的内容

除了这两种情况,我看不出有任何理由在网络上使用基于https的编码内容。让我们假设一个站点有10+css、10+js、50+个图像,内容重量为200k,总重量可能是~2-3MB-所以整个内容都是加密的-毫无疑问,这将是在浏览器a之间创建100-280个连接的最小值nd服务器

请解释-为什么我们需要遵循交付方式[我们大多数人这样做是因为浏览器/类似谷歌的搜索引擎/w3o标准要求我们在每个页面上使用]

为什么我们需要遵循我们的交付方式

因为否则它就不安全。警告这一点的浏览器没有错

让我们假设一个站点有10+css,10+js

只有1.js通过非HTTPS提供服务,中间人攻击者可以将任意代码注入您的HTTPS页面,从中他们可以完全控制用户与您网站的交互。这就是浏览器不允许的原因,并向您发出混合内容警告

(和.css在许多情况下可能具有相同的影响。)

另外,对于不同的页面,在HTTP和HTTPS之间切换是非常糟糕的安全可用性。用户很可能没有注意到这种切换,并且可能会被欺骗而将数据输入(或从中接受数据)非HTTPS页面。攻击者所要做的就是更改其中一个HTTP链接,使其指向HTTP而不是HTTPS,并且通常的过程将被破坏

毫无疑问,这将是在浏览器和服务器之间创建100-280个连接的最小值

HTTP[S]重用连接。您不必为每个链接的资源支付SSL握手延迟


如今,HTTPS确实没有那么昂贵,不值得担心一个典型的小型web应用程序的性能。

最好在security.stackexchange.com上问这种问题。我建议您在解释问题时要快得多。不要指望任何人阅读这些内容只是为了找到您遇到的实际问题,但是在前几句话中简短而清晰地描述它。你已经定义了解决这个问题的方法。你在没有证据的情况下断言响应只需要出于访问控制的原因进行加密。这取决于你来确定这个命题的真实性,让其他人来证明普遍做法的合理性。@EJP尽管这取决于开发人员团队决定这仍然是其行业最佳实践,以了解我们为什么要以这种方式完成整个流程。因此,只在这里问了这个问题。感谢您更新简短的问题。@Ela我不理解第一句话。如果您认为有一些神奇的安全定理说,对安全请求的响应不必是安全的,那么让我们听听它是什么。让我们来听听你的计划是什么。@EJP:(我不清楚这个系统是如何完全工作的,我试图了解各地对https的需求(在那里,我的内容生成时间完全超过了普通http,因为这是缓存在服务器上使用缓存工具(varnish)工作的方式)这是我应该进行更多研究以解决的问题)。是的,我需要随时随地使用https。我还反复研究同一主题,以了解整个过程。我担心这会影响网站性能,这再次取决于https的服务器端缓存设置,我必须做得更好。谢谢你的回答