我們經(jīng)常說的一個(gè)網(wǎng)站是小網(wǎng)或者是大型網(wǎng)站,都是基于流量和并發(fā)來說的。
一般來說,一個(gè)企業(yè)的官網(wǎng),不管欄目結(jié)構(gòu)和功能都有什么,只要他的流量不到一定規(guī)模,這個(gè)網(wǎng)站也是小網(wǎng)站。反過來,即使一個(gè)網(wǎng)站僅僅只提供文章閱讀,并沒有提供其他的一些功能,但是他的流量非常高,我們也可以說他是一個(gè)大型網(wǎng)站。
作為一個(gè)網(wǎng)站建設(shè)公司,經(jīng)常遇到一些客戶說:我要做一個(gè)XX網(wǎng),對(duì)你們來說非常簡(jiǎn)單,幾萬塊錢就行了吧?
每次遇到這樣的客戶我們都苦笑不得,不厭其煩的跟他們講解大型網(wǎng)站開發(fā)中會(huì)遇到的問題。
一般來說,大型網(wǎng)站建設(shè)中主要是兩方面的問題:流量和并發(fā),這兩個(gè)方面的問題又可以細(xì)分。
我們說到大型網(wǎng)站建設(shè)會(huì)遇到的兩個(gè)問題:流量和并發(fā),今天我們著重說一下流量的問題。
流量問題,是指用戶從服務(wù)器上獲取網(wǎng)站內(nèi)容而進(jìn)行下載所消耗的流量。說到流量,就不能不說到帶寬。服務(wù)器帶寬是最大的也是最根本的瓶頸,也是服務(wù)器成本組成中費(fèi)用最多的部分。
這里要科普一下,服務(wù)器帶寬所說的M,實(shí)際上是Mb,而不是通常文件大小的MB。而1B=8b,所以1M帶寬實(shí)際下載極限速度大約是128kb/秒。
舉個(gè)例子,一個(gè)網(wǎng)站的官網(wǎng)打開需要下載頁(yè)面源文件,各種圖片,css文件和js文件,這些文件加起來有2M大小。假設(shè)我們服務(wù)器帶寬是1M的,頁(yè)面完全加載完畢要15秒左右,而一般用戶等到8秒就會(huì)不耐煩了。
一個(gè)網(wǎng)站15秒打開是完全不能接受的,甚至8秒都不太能接受。那么如何解決這個(gè)問題?不同的網(wǎng)站建設(shè)公司有著不同的解決方案,不同的方案需要的技術(shù)含量、時(shí)間、成本都不同。
我們從網(wǎng)站打開的流程來說下都是有哪些問題需要解決:
1. 域名解析、DNS
2. 服務(wù)器響應(yīng)
3. 瀏覽器緩存
4. 文件讀取
5. 文件下載
首先,用戶在瀏覽器輸入域名并訪問,瀏覽器先查詢本機(jī)有沒有這條域名的解析記錄,如果有,就直接訪問,沒有,則需要去域名解析服務(wù)器去查詢?cè)撚蛎麑?duì)應(yīng)服務(wù)器的IP。
得到域名對(duì)應(yīng)的服務(wù)器IP后,再向該服務(wù)器發(fā)起請(qǐng)求。服務(wù)器接收到這個(gè)請(qǐng)求以后,再根據(jù)請(qǐng)求的不同,將結(jié)果也就是頁(yè)面源碼返回給用戶。
用戶收到頁(yè)面源碼,瀏覽器會(huì)根據(jù)源碼的內(nèi)容,判斷頁(yè)面所需要的內(nèi)容是否已經(jīng)在本地緩存了。如果已經(jīng)緩存,就直接調(diào)用,如果沒有,就得再向服務(wù)器發(fā)起請(qǐng)求,要求下載。
服務(wù)器收到請(qǐng)求,會(huì)在去查找該資源,讀取并返回。
本地瀏覽器獲取到頁(yè)面源代碼和頁(yè)面所需要的資源,進(jìn)行計(jì)算渲染以后,就是我們看到的頁(yè)面了。
咨詢熱線
010-85377344
135-21581588
微信客服
QQ客服
3026106565 點(diǎn)擊咨詢