摘要:但在里,所有的文本數(shù)據(jù)默認(rèn)都會(huì)被壓縮目前的兼容性是所以說(shuō)還是任重而道遠(yuǎn)開啟那如何開啟呢很簡(jiǎn)單,使用的用戶,可以下載一個(gè)的模塊使用的用戶,可以下載一個(gè)的模塊最后說(shuō)兩句其實(shí),和域名收斂一直都是前端世界的優(yōu)化的重點(diǎn)。
話說(shuō)天下大勢(shì),分久必合,合久必分
其實(shí)域名也是一樣,分分合合, 不管是域名收斂還是域名發(fā)散,都有著自己獨(dú)特的應(yīng)用場(chǎng)景。
目前, 在web"s top 30,000 URLS 里面, 平均每個(gè)域名承擔(dān)了50個(gè)資源的請(qǐng)求,所以,域名的擴(kuò)散其實(shí)是個(gè)很重要的手段.
現(xiàn)在大部分website都推崇這域名的發(fā)散
這是為什么呢?為什么呢?為什么呢?
域名發(fā)散出現(xiàn)的原因其實(shí)真得瀏覽器. md~ 以前網(wǎng)速慢,設(shè)備差,稍微流量大一點(diǎn) Server 就崩潰了。 所以, 為了保護(hù)你的服務(wù)器不被強(qiáng)暴到崩潰,瀏覽器要對(duì)max connections 有限制.如果每個(gè)用戶的max connections 不限制的話, 結(jié)果就是, 服務(wù)器的負(fù)載能力會(huì)低至冰點(diǎn)~
另外還有一個(gè)方面就是, 識(shí)別用戶不是DDOS attacker. 原因我就不多說(shuō)了。 如果有大神的話,可以DDOS一下,試一試,表示,我的電腦扛不住.
由于瀏覽器的限制,每個(gè)瀏覽器,允許對(duì)每個(gè)域名的連接數(shù)一般是有上限的.
這是browserscrope生成的結(jié)果.通過(guò)這樣圖,我們就可以知道在一些現(xiàn)代瀏覽器內(nèi)每個(gè)hostname的最大連接數(shù)基本都是6個(gè),但是IE這個(gè)傻逼,不知道抽風(fēng)了么? 當(dāng)然,如果 進(jìn)行了DS之后 增加連接,也還是有最大的連接數(shù)的(比如17)。
這里,為了講解清晰,我舉個(gè)例子吧. 假設(shè)現(xiàn)在瀏覽器對(duì)每個(gè)域名連接數(shù)為1. 那么現(xiàn)實(shí)情況是.
瀏覽器解析完我們的文檔之后開始發(fā)起請(qǐng)求,對(duì)文件進(jìn)行加載. 然后一個(gè)一個(gè)文件 在max connections 下進(jìn)行排隊(duì)下載.
但如果我們使用了域名分散之后,使用多個(gè)domain進(jìn)行資源的下載,就有.
這樣完全可以省略掉排隊(duì)的時(shí)間.提升網(wǎng)頁(yè)加載的速度.
服務(wù)器對(duì)于每個(gè)域名的限制只是針對(duì)于hostname而已, 就算你的IP地址一樣,也是沒有太大關(guān)系的。所以,這里就可以使用CNAME來(lái)創(chuàng)建,不同域名相同IP的映射.
CNAME全稱就是Canonical Name。 他是DNS服務(wù)商提供的一項(xiàng)服務(wù),用來(lái)給你的網(wǎng)站設(shè)置別名。
比如,你現(xiàn)在的網(wǎng)站是abc.example.com. 但是,你也想使用def.example.com 來(lái)訪問相同的網(wǎng)站, 那么這就需要你使用CNAME 來(lái)對(duì)你的域名設(shè)置alias. 通常不同的服務(wù)商有著不同的設(shè)置方法. 比如: 國(guó)外的maxCDN。
這樣,就能很方便的設(shè)置另外的域名來(lái)增加你文件的connections number.
另外,還可以在DNS服務(wù)商下申請(qǐng)子域。這些都是可行的.
使用DS 并不是一本萬(wàn)利的。 因?yàn)樵谀阍黾佑虻耐瑫r(shí),往往會(huì)給瀏覽器帶來(lái)DNS解析的開銷。如果有興趣的同學(xué)可以參考DNS解析. 對(duì)于PC端上,幾十ms的解析速度來(lái)說(shuō)還好,但是,在手機(jī)端上,DNS 解析的效果我就呵呵了. 少則幾百毫秒,多則1s+.
這里我們用數(shù)據(jù)說(shuō)話.
手機(jī)端頁(yè)面加載數(shù)和域名分散數(shù)的關(guān)系. from Mobify Developer
現(xiàn)在,各大瀏覽器都已經(jīng)提升了資源的下載數(shù),所以,域名分散的必要性也就沒這么大了. 可以從上表看出,在2個(gè)域名分散條件下,網(wǎng)頁(yè)的加載速度提升較大,而第三個(gè)以后就比較慢了。 所以, 一般來(lái)說(shuō),域名分散的數(shù)量最好在3以下.
那有沒有其他辦法能夠代替DS呢? 事實(shí)上有的, 最出名的應(yīng)該算CDN 和 SPDY.
CDN和域名收斂的關(guān)系(沒關(guān)系)如果大家使用過(guò)云平臺(tái)(阿里云,騰訊云)的話,應(yīng)該有所了解過(guò)上面的一些服務(wù)。 其中比較出名的應(yīng)該算是CDN服務(wù)了.
使用CDN的時(shí)候,我們往往也會(huì)使用到CNAME的設(shè)置。 那么問題來(lái)了:
CDN 和 domain sharding 到底有什么關(guān)系?
我相信,大部分童鞋,應(yīng)該都有點(diǎn)懵逼.
in fact, 他們兩個(gè)是完全不一樣的東西。
CDN 全稱是--Content Delivery Network. 現(xiàn)實(shí)意義就是,他其實(shí)就是一個(gè) 用來(lái)保存你靜態(tài)文件的倉(cāng)庫(kù)(css,js,img等). 所以,他的出現(xiàn)必定是建立在擁有眾多服務(wù)器的云平臺(tái)上. 他的作用就是,托管你的文件,并且當(dāng)某一個(gè)用戶想要得到這份文件時(shí),便會(huì)根據(jù)地理位置,找到離用戶最近的一臺(tái)服務(wù)器(肯定需要經(jīng)過(guò)DNS解析), 然后返回 你存儲(chǔ)的靜態(tài)文件. 所以,由于地理位置比較近的原因,結(jié)果就是網(wǎng)速快, 網(wǎng)頁(yè)打開的時(shí)間也就變短了.
而~ domain sharding 是什么呢? 其實(shí)對(duì)比看來(lái),就應(yīng)該很容易知道, 首先DS(domain sharding) 所提供的服務(wù)器地址是不會(huì)改變的。 只是增加了 不同的subdomain或者domain alias而已. 而這些在CDN 里面 統(tǒng)統(tǒng)都可以實(shí)現(xiàn).
總結(jié)一下:
DS: 為了突破瀏覽器對(duì)連接數(shù)的限制,而將資源放到不同的domains 上的
CDN: 就是將你的資源放到 全國(guó) 或者說(shuō) 全世界各個(gè)地方的服務(wù)器上的.(當(dāng)然,他本身也是利用DS的技術(shù))
When should we use CDN?由于CDN 比較貴,所以對(duì)于小范圍 運(yùn)營(yíng)性的H5來(lái)說(shuō),不使用CDN也沒有太大的影響,反正用戶都在那一塊。 但是,如果你的web 比較大,而且涉及用戶群體的范圍比較廣的話,相對(duì)性的使用CDN 也是有益無(wú)害的。不過(guò),由于CDN 是按瀏覽計(jì)費(fèi)的,所以你懂的。 這里安利一個(gè)Calculator根據(jù)你的流量來(lái)選擇最佳的CDN. 所以說(shuō),你用不用CDN還得看你自己或者你leader的心情了. 另外更詳述的區(qū)別可以見: CDN xx DS
那SPDY又是個(gè)什么東西呢?
SPDY指南SPDY可以說(shuō)是DS殺手. SPDY 的作用就是,在不增加域名的情況下,解除最大連接數(shù)的限制. 臥槽~ 怎么聽起來(lái)就像一個(gè) sliver bullet. 沒錯(cuò),可以說(shuō)SPDY 就是 HTTP2的前身.
SPDY是google主導(dǎo)的一種新型通信方式.主要的特點(diǎn)就是多路復(fù)用. 他的目的就是致力于取消max connections 上限. 不過(guò)由于推廣時(shí)間短,全世界使用的網(wǎng)頁(yè)數(shù)都比較少. 但,據(jù)chromium統(tǒng)計(jì),使用了SPDY網(wǎng)頁(yè)速率 差不多提升了28%~64%左右. 所以,說(shuō)SPDY的出現(xiàn),可以讓DS的存在變的毫無(wú)價(jià)值.
那SPDY具體的優(yōu)勢(shì)在哪里.
解決了HTTP只能 One request per connection. 當(dāng)連接完成后,可以實(shí)現(xiàn)并行下載多個(gè)資源文件
服務(wù)器推的技術(shù), 和SSE的理念類似,不過(guò)更靠底層。直接可以實(shí)現(xiàn)無(wú)需用戶等待,直接后臺(tái)發(fā)資源(感覺就像寫APP了,有木有)
請(qǐng)求頭的復(fù)用. 當(dāng)你前幾次的請(qǐng)求頭內(nèi)容沒多大變化的時(shí)候,就會(huì)省去幾個(gè)相同的,實(shí)現(xiàn)Header Compression
數(shù)據(jù)壓縮: 在HTTP1.1 有 Content-Encoding: gzip, Transfer-Encoding: chunked. 來(lái)顯式表明開啟文本壓縮。但在SPDY里,所有的文本數(shù)據(jù)默認(rèn)都會(huì)被壓縮.
SPDY目前的兼容性是IE11+.(所以說(shuō)還是任重而道遠(yuǎn))
那如何開啟SPDY呢? 很簡(jiǎn)單,使用nginx的用戶,可以下載一個(gè)ngx_http_spdy_module的模塊. 使用apache的用戶,可以下載一個(gè)mod_spdy module的模塊.
最后說(shuō)兩句其實(shí),DS 和 domain of convergence (域名收斂), 一直都是前端世界的優(yōu)化的重點(diǎn)。 不過(guò),由于時(shí)代在進(jìn)步,技術(shù)在革新。 感覺DS 是很有可能被淘汰的啊喂. 但,由于SB-IE占的全球份額過(guò)大,就目前來(lái)說(shuō),這一天 還太遙遠(yuǎn)。 加油~
轉(zhuǎn)載請(qǐng)注明作者和原文鏈接: https://segmentfault.com/a/1190000004647665
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/10957.html
摘要:雖然今年沒有換工作的打算但為了跟上時(shí)代的腳步還是忍不住整理了一份最新前端知識(shí)點(diǎn)知識(shí)點(diǎn)匯總新特性,語(yǔ)義化瀏覽器的標(biāo)準(zhǔn)模式和怪異模式和的區(qū)別使用的好處標(biāo)簽廢棄的標(biāo)簽,和一些定位寫法放置位置和原因什么是漸進(jìn)式渲染模板語(yǔ)言原理盒模型,新特性,偽 雖然今年沒有換工作的打算 但為了跟上時(shí)代的腳步 還是忍不住整理了一份最新前端知識(shí)點(diǎn) 知識(shí)點(diǎn)匯總1.HTMLHTML5新特性,語(yǔ)義化瀏覽器的標(biāo)準(zhǔn)模式和怪...
摘要:雖然今年沒有換工作的打算但為了跟上時(shí)代的腳步還是忍不住整理了一份最新前端知識(shí)點(diǎn)知識(shí)點(diǎn)匯總新特性,語(yǔ)義化瀏覽器的標(biāo)準(zhǔn)模式和怪異模式和的區(qū)別使用的好處標(biāo)簽廢棄的標(biāo)簽,和一些定位寫法放置位置和原因什么是漸進(jìn)式渲染模板語(yǔ)言原理盒模型,新特性,偽 雖然今年沒有換工作的打算 但為了跟上時(shí)代的腳步 還是忍不住整理了一份最新前端知識(shí)點(diǎn) 知識(shí)點(diǎn)匯總1.HTMLHTML5新特性,語(yǔ)義化瀏覽器的標(biāo)準(zhǔn)模式和怪...
摘要:聲明的變量不得改變值,這意味著,一旦聲明變量,就必須立即初始化,不能留到以后賦值。 雖然今年沒有換工作的打算 但為了跟上時(shí)代的腳步 還是忍不住整理了一份最新前端知識(shí)點(diǎn) 知識(shí)點(diǎn)匯總 1.HTML HTML5新特性,語(yǔ)義化瀏覽器的標(biāo)準(zhǔn)模式和怪異模式xhtml和html的區(qū)別使用data-的好處meta標(biāo)簽canvasHTML廢棄的標(biāo)簽IE6 bug,和一些定位寫法css js放置位置和原因...
摘要:聲明的變量不得改變值,這意味著,一旦聲明變量,就必須立即初始化,不能留到以后賦值。 雖然今年沒有換工作的打算 但為了跟上時(shí)代的腳步 還是忍不住整理了一份最新前端知識(shí)點(diǎn) 知識(shí)點(diǎn)匯總 1.HTML HTML5新特性,語(yǔ)義化瀏覽器的標(biāo)準(zhǔn)模式和怪異模式xhtml和html的區(qū)別使用data-的好處meta標(biāo)簽canvasHTML廢棄的標(biāo)簽IE6 bug,和一些定位寫法css js放置位置和原因...
摘要:聲明的變量不得改變值,這意味著,一旦聲明變量,就必須立即初始化,不能留到以后賦值。 雖然今年沒有換工作的打算 但為了跟上時(shí)代的腳步 還是忍不住整理了一份最新前端知識(shí)點(diǎn) 知識(shí)點(diǎn)匯總 1.HTML HTML5新特性,語(yǔ)義化瀏覽器的標(biāo)準(zhǔn)模式和怪異模式xhtml和html的區(qū)別使用data-的好處meta標(biāo)簽canvasHTML廢棄的標(biāo)簽IE6 bug,和一些定位寫法css js放置位置和原因...
閱讀 2522·2023-04-25 17:37
閱讀 1205·2021-11-24 10:29
閱讀 3713·2021-09-09 11:57
閱讀 705·2021-08-10 09:41
閱讀 2259·2019-08-30 15:55
閱讀 2824·2019-08-30 15:54
閱讀 1954·2019-08-30 15:53
閱讀 910·2019-08-30 15:43