使用纯HTTP,无Cookie域是一种优化,可以避免不必要地为页面资源发送Cookie标头。
但是,SPDY协议会压缩HTTP标头,并在某些情况下会删除不必要的标头。那么我的问题是,SPDY会使无Cookie域无关紧要吗?
此外,页面源及其所有资源是否应托管在同一域中以优化SPDY实现?
答案 0 :(得分:5)
SPDY会使无Cookie域名无关吗?
大部分......但不完全是。
首先,使用“无cookie域”至少有两个充分的理由:一个是避免额外的头并减少请求的大小,二是避免泄露有关用户的任何私人或安全信息。每个都是相互独立的有效。因此,显然仍有理由在HTTP 2.0下建立一个“无cookie域”,以保障安全和隐私。
此外,压缩也不是魔术子弹。建立压缩/解压缩上下文并不是免费的,并且根据使用的压缩方案,分配的缓冲区大小等,大型cookie可能会完全破坏压缩器的性能。高达spdy / v3,使用gzip压缩器(滑动窗口),并且给定足够大的cookie,你会对压缩器的性能产生负面影响(程度因浏览器而异,基于实现)。在spdy / v4中,gzip压缩器已经出局,并且从头开始实施一个全新的算法 - 由于v4尚未推出,现在推测性能的具体细节还为时过早。话虽如此,在大多数情况下,你应该没事。我只是强调边缘情况。
此外,页面源及其所有资源是否应托管在同一域中以优化SPDY实现?
是的,尽可能 - 这将为您提供最佳表现。这里也有一些警告:原始服务器的高丢包率,或没有窗口缩放的高BDP产品。但是,如果你使用一个连接良好的合理托管服务提供商,那么这些都不是问题。