利用多个域名来存储网站资源
1. CDN緩存更方便
CDN:是構(gòu)建在網(wǎng)絡之上的內(nèi)容發(fā)布網(wǎng)絡,依靠部署在各地的邊緣服務器,通過中心平臺的負載均衡、內(nèi)容發(fā)布、調(diào)度等功能模塊,是用戶就近獲取所需內(nèi)容,降低網(wǎng)絡擁塞,提高用戶訪問響應速度和命中率。CDN的關(guān)鍵技術(shù)主要是內(nèi)容存儲和分布技術(shù)。簡單來說,CDN主要用來使用戶就近獲取資源。
2. 突破瀏覽器并發(fā)限制
同一時間針對同一域名下的請求有一定數(shù)量限制,超過限制數(shù)目的請求會被阻塞。大多數(shù)瀏覽器的并發(fā)數(shù)量都控制在6以內(nèi)。有些資源的請求時間很長,因而會阻塞其他資源的請求。因此,對于一些靜態(tài)資源,如果放到不同的域名下面就能實現(xiàn)與其他資源的并發(fā)請求。
因而后來衍生了domain dash來加大并發(fā)數(shù),但是過多的域名會使DNS解析負擔加重,因此一般控制在2-4個。
對于圖片資源的加載,利用css sprites技術(shù),結(jié)合background的定位在同一張圖片中加載多個圖片,這也是減少并發(fā)數(shù)量的一種常用方法。
3. 節(jié)約cookie帶寬
用戶的每次訪問,都會帶上自己的cookie ,挺大的。假如twitter 的圖片放在主站域名下,那么用戶每次訪問圖片時,request header 里就會帶有自己的cookie ,header 里的cookie 還不能壓縮,而圖片是不需要知道用戶的cookie 的,所以這部分帶寬就白白浪費了。
寫主站程序時,set-cookie 也不要set 到圖片的域名上。
4. 節(jié)約主域名的連接數(shù),優(yōu)化頁面響應速度
因為老的瀏覽器(IE6是典型),針對同一個域名只允許同時保持兩個HTTP連接。將圖片等資源請求分配到其他域名上,避免了大圖片之類的并不一定重要的內(nèi)容阻塞住主域名上其他后續(xù)資源的連接(比如ajax請求)。
5. 防止不必要的安全問題
對于UGC的內(nèi)容和主站隔離,防止不必要的安全問題( 上傳js竊取主站cookie之類的) 。正是這個原因要求用戶內(nèi)容的域名必須不是自己主站的子域名,而是一個完全獨立的第三方域名。
總結(jié)
以上是生活随笔為你收集整理的利用多个域名来存储网站资源的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: arr.sort的排序原理
- 下一篇: js中的几种跨域方法