什么是CDN塌碌?
CDN加速意思就是在用戶和我們的服務器之間加一個緩存機制渊胸,通過這個緩存機制動態(tài)獲取IP地址根據(jù)地理位置,讓用戶到最近的服務器訪問台妆。
那么CDN是個啥翎猛?
全稱Content Delivery Network即內容分發(fā)網絡胖翰。
CDN是一組分布在多個不同的地理位置的WEB服務器,用于更加有效的向用戶發(fā)布內容切厘,在優(yōu)化性能時萨咳,會根據(jù)距離的遠近來選擇 。
CDN系統(tǒng)能實時的根據(jù)網絡流量和各節(jié)點的連接疫稿,負載狀況及用戶的距離和響應時間等綜合信息將用戶的請求重新導向離用戶最近的服務節(jié)點上培他,其目的是使用戶能就近的獲取請求數(shù)據(jù),解決網絡擁堵遗座,提高訪問速度靶壮,解決由于網絡帶寬小,用戶訪問量大员萍,網點分布不均等原因導致的訪問速度慢的問題腾降。
由于CDN部署在網絡運營商的機房,這些運營商又是終端用戶網絡的提供商碎绎,因此用戶請求的第一跳就到達CDN服務器螃壤,當CDN服務器中緩存有用戶請求的數(shù)據(jù)時,就可以從CDN直接返回給瀏覽器筋帖,因此就可以提高訪問速度奸晴。
CDN能夠緩存JavaScript腳本,css樣式表日麸,圖片寄啼,圖標,F(xiàn)lash等靜態(tài)資源文件(不包括html頁面)代箭,這些靜態(tài)資源文件的訪問頻率很高墩划,將其緩存在CDN可以極大地提高網站的訪問速度,但由于CDN是部署在網絡運營商的機房嗡综,所以在一般的網站很少用CDN加速乙帮。
我們知道了什么是CDN,那么分發(fā)的原理是什么呢极景?
用戶向瀏覽器提供需要訪問的域名察净;
瀏覽器調用域名解析庫對域名進行解析,由于CDN對域名解析過程進行了調整盼樟,所以解析函數(shù)庫一般得到的是該域名對應的CNAME記錄氢卡,為了得到實際的IP地址,瀏覽器需要再次對獲得的CNAME域名進行解析以得到實際的IP地址晨缴;在此過程中译秦,使用的全局負載均衡DNS解析。如根據(jù)地理位置信息解析對應的IP地址,使得用戶能就近訪問诀浪;
此次解析得到CDN緩存服務器的IP地址,瀏覽器在得到實際的ip地址之后延都,向緩存服務器發(fā)出訪問請求雷猪;
緩存服務器根據(jù)瀏覽器提供的要訪問的域名,通過Cache內部專用DNS解析得到此域名的實際IP地址晰房,再由緩存服務器向此實際IP地址提交訪問請求求摇;
緩存服務器從實際IP地址得到內容以后,一方面在本地進行保存殊者,以備以后使用与境,二方面把獲取的數(shù)據(jù)放回給客戶端,完成數(shù)據(jù)服務過程猖吴;
客戶端得到由緩存服務器返回的數(shù)據(jù)以后顯示出來并完成整個瀏覽的數(shù)據(jù)請求過程摔刁。