前段时间要新启一个项目,在定域名的时候,我想一个域名就可以了吗,但是我的老大却让设置两个域名,产品觉得奇怪,配置域名的运维也很是不解?
我老大说:“浏览器有域名请求次数限制,增加一个静态资源域名可以增加浏览器的资源请求次数。”
我将老大的陈述告诉给产品和运维,虽然他们不理解,但还是接受了。
今天我在看《前端性能优化原理与实践的时候》,了解到将静态资源和主页面置为不同的域名的真正原因。
Cookie 是紧跟域名的。同一个域名下的所有请求,都会携带 Cookie。大家试想,如果我们此刻仅仅是请求一张图片或者一个 CSS 文件,我们也要携带一个 Cookie 跑来跑去(关键是 Cookie 里存储的信息我现在并不需要),这是一件多么劳民伤财的事情。Cookie 虽然小,请求却可以有很多,随着请求的叠加,这样的不必要的 Cookie 带来的开销将是无法想象的……
同一个域名下的请求会不分青红皂白地携带 Cookie,而静态资源往往并不需要 Cookie 携带什么认证信息。把静态资源和主页面置于不同的域名下,完美地避免了不必要的 Cookie 的出现!
看起来是一个不起眼的小细节,但带来的效用却是惊人的。以电商网站静态资源的流量之庞大,如果没把这个多余的 Cookie 拿下来,不仅用户体验会大打折扣,每年因性能浪费带来的经济开销也将是一个非常恐怖的数字。
为什么静态资源和主页面要置于不同的域名下?你明白了吗😄
网友评论