前面我們介紹過怎麼通過減少Http請求和CDN的方式來優化Web前端性能,今天我們就來簡單的介紹一下通過反向代理來優化Web前端性能。
首先我們來了解一下什麼叫反向代理?
1、正向代理與反向代理?
正向代理是位於客戶端和原始服務器之間的服務器,爲了能夠從原始服務器獲取請求的內容,客戶端需要將請求發送給代理服務器,然後再由代理服務器將請求轉發給原始服務器,原始服務器接受到代理服務器的請求並處理,然後將處理好的數據轉發給代理服務器,之後再由代理服務器轉發發給客戶端,完成整個請求過程。
正向代理的典型用途就是爲在防火牆內的局域網客戶端提供訪問Internet的途徑(比如學校的局域網、單位局域網訪問外部資源等都使用了代理服務器)。當然我們熟知FQ也是使用正向代理這一原理。
上面我們說到正向代理是位於客戶端和原始服務器端的服務器,接下來我們來詳細的說一下反向代理。
反向代理方式是指代理原始服務器來接受來自Internet的鏈接請求,然後將請求轉發給內部網絡上的原始服務器,並將從原始服務器上得到的結果轉發給Internet上請求數據的客戶端。那麼顧名思義,反向代理就是位於Internet和原始服務器之間的服務器,對於客戶端來說就表現爲一臺服務器,客戶端所發送的請求都是直接發送給反向代理服務器,然後由反向代理服務器統一調配。
嗯...那麼局域網訪問使用反向代理技術的系統時是不是這樣的呢?
2、性能優化之反向代理
和傳統的代理服務器一樣,反向代理服務器也有保護網站安全的作用,來自互聯網的請求必須經過反向代理服務器,相當於在原始服務器之間增加一道屏障。
除了安全功能,反向代理服務器也可以通過配置緩存功能加速web請求,當用戶第一次訪問呢靜態內容的時候,靜態內容就被緩存在反向代理服務器上,下一次用戶請求靜態資源時,直接從反向代理服務器返回靜態內容,加速web請求訪問速度,減輕原始服務器的壓力。
此外,反向代理服務器也可實現負載均衡的功能,而通過負載均衡構建應用集羣可以提高系統的總處理能力,進而改善網站在高併發情況下的性能。