初次了解【域名发散】和【域名收敛】
什么是域名发散
域名发散是指将静态资源放在多个子域名下,以突破浏览器对同一域名的并发请求限制,提高页面加载速度。例如,如果主页面是 www.example.com,那么可以将图片、样式表、脚本等静态资源分别放在 img.example.com、css.example.com、js.example.com 等子域名下。
要实现域名发散,需要以下几个步骤:
- 配置服务器或者 CDN 服务,让不同的子域名指向相同或者不同的服务器地址。
- 修改页面中引用静态资源的 URL,使用相应的子域名。
- 如果需要,设置跨域资源共享(CORS)策略,允许不同子域名之间的资源访问。这样,当浏览器加载页面时,就可以同时从多个子域名下载静态资源,提高并行度和效率。
不过,域名发散也有一些缺点和限制,例如:
- 增加了 DNS 解析的开销和时间。
- 增加了 SSL 证书的成本和管理难度。
- 可能造成跨域问题和安全风险。
- 可能不适合移动端的网络环境和性能优化。因此,在使用域名发散时,需要根据具体的场景和需求进行权衡和测试。
域名发散使用场景
使用域名发散的情况有以下几种:
- 当页面中有大量的静态资源需要加载,而浏览器对同一域名的并发请求限制较低时,可以使用域名发散来提高页面加载速度。
- 当页面中的静态资源不需要携带 cookie 时,可以使用域名发散来节省 cookie 带宽。
- 当页面中的静态资源可以分布在不同的服务器或者 CDN 服务上时,可以使用域名发散来提高资源的可用性和稳定性。
不过,使用域名发散也要注意以下几点:
- 不要使用过多的子域名,否则会增加 DNS 解析的开销和时间。一般来说,域名发散的数量最好在3以下。
- 要考虑 SSL 证书的成本和管理难度,以及跨域问题和安全风险。
- 要根据不同的网络环境和性能优化策略进行权衡和测试,有时候域名收敛可能更适合移动端。
什么是域名收敛
域名收敛是指在网络拓扑结构中,一个域名解析的结果能够收敛到同一个IP地址。简单来说,就是同一个域名在不同网络环境中解析的结果相同,不会出现解析到不同IP地址的情况。这样可以保证网络的稳定性和安全性。
域名收敛使用场景
- 在移动端,为了减少DNS解析的开销,提高性能,可以将静态资源放在一个域名下。
- 在需要保证数据一致性和安全性的场合,例如电商、金融等,可以使用收敛域名,避免因为域名解析到不同IP地址而导致的数据不一致或被劫持的风险。