我正在阅读有关子资源完整性的信息,但我担心性能损失。这(必须在执行每个文件之前对其进行哈希处理)如何减慢页面加载速度,尤其是在具有低级 CPU 的设备上?
问问题
632 次
2 回答
3
我今天运行了一个性能基准测试,并在为 120KB Twitter Bootstrap 缩小的 CSS 文件生成哈希时观察到以下平均值。
File Size: 121200
SHA1 Time: 0.50199 ms
SHA256 Time: 0.89691 ms
SHA384 Time: 1.59249 ms
SHA512 Time: 1.58901 ms
SHA1
被认为是不安全的,可能无法正常工作。因此,如果您使用SHA256
,您可以预期在通用设备上每个资源的总延迟小于 1 毫秒。我在性能不是很好的一年半的 Corei5 ASUS 笔记本电脑上运行了这个基准测试。此外,120KB 略高于平均水平。大多数静态文件更小,更小的文件大小意味着更快的哈希生成。
基于这些基准,如果我用每资源 1 毫秒的成本来衡量使用 SRI 的好处,我会更喜欢使用 SRI,因为成本几乎可以忽略不计。正如您在评论中所说,黑客进入大型 CDN 提供商服务器的变化不容忽视。我会指出一个过去的事件,黑客注入他们自己的 javascript 来攻击 IE 用户。
于 2017-12-12T08:49:34.247 回答
0
如何...?- 它使用 CPU 来计算哈希值。
多少钱?- 测量,取决于 CPU 和资源大小等。
但是...... - 为了提高性能,您可以尝试组合和最小化资源,并使用较少的 CPU 密集型哈希算法。
别担心,开心就好!
于 2016-08-16T14:38:41.677 回答