浏览器对于同一域名下允许的并发请求做了限制,通常同一域名下最大并发请求数量为6个
为了适应当时服务器的负载能力;之前的服务器的负载能力并没有这么强,高并发的请求可能会导致服务器无法正常提供服务甚至崩溃
如果浏览器允许的最大并发请求数较大,容易造成
DDoS(Distributed Denial of Service)
攻击等安全隐患过多的并发请求可能会造成浏览器阻塞,使之处于“假死”的无响应状态
浏览器目前已经支持了长连接,可以在同一个
TCP
连接中完成多个请求,没有必要再进行代价较大的重新开启新请求的操作
一、域名发散
域名发散就是为了突破浏览器对于同一域名并发请求数的限制,使用域名发散为同一个服务申请多个域名,从而可以一定程度上提高并发量;当然,由于建立新的请求需要一定的代价,因此需要在域名发散与域名收敛之间进行trade off
,通常发散的域名个数为2-4个。
二、域名收敛
域名收敛就是将静态资源放在一个域名下不进行发散,这主要是为了适应移动端的发展需求;通常DNS是一个开销较大的操作,而移动端由于网络带宽和实时性、资源等的限制,这些开销对于移动端的用户体验是致命的,因此需要进行域名收敛。
三、SPDY
SPDY
是谷歌的一个商标,是由Google提出的一种更加快捷的应用层协议,可以说是对HTTP
协议的一种补充,同时也推动了HTTP/2
的发展。
SPDY
的提出也给无线端/移动端优化提供进一步的方案。
它并不是一种HTTP
的替代,而是修改了HTTP
请求和相应的发送方式;能够有效降低网页加载延时并提高网络安全性;可以通过HTTP
头部压缩、多路复用、请求优先级排序降低加载延时;SPDY
中使用SSL/TLS
加密提高了网络安全性,同时向后兼容TCP
;另外,服务器在页面请求后可以主动将需要的静态资源发送到客户端而不需要客户端再次请求。