- 分布式系統(tǒng)架構:技術棧詳解與快速進階
- 張程
- 457字
- 2020-08-13 13:45:36
4.4.3 動靜分離
在介紹動靜分離之前,需先了解動態(tài)和靜態(tài)。所謂動態(tài),指的是需更新編譯處理的資源,如JSP/PHP。相對由服務端編程語言實現(xiàn)的頁面,這種頁面需要在服務端動態(tài)處理。所謂靜態(tài),指的是不需要更新編譯的資源,如CSS/JSS/HTML等。
Nginx實現(xiàn)動靜分離:在利用反向代理的過程中,Nginx會判斷是否是靜態(tài)的資源,如果是,則直接從Nginx發(fā)布的路徑去讀取,而不需要從后端服務器獲取。
動靜分離優(yōu)勢:充分利用服務器資源,減少不必要的請求,減少后端服務器的壓力,快速提高頁面加載速度。
Nginx實現(xiàn)動靜分離的方法如代清單碼4-6所示。
代碼清單4-6 Nginx實現(xiàn)動靜分離
location / { root /root; #定義服務器的默認網(wǎng)站根目錄位置 index index.html index.htm; #定義首頁索引文件的名稱 } # 定義錯誤提示頁面 error_page 500 502 503 504 /50x.html; location = /50x.html { root /root; } #靜態(tài)文件,Nginx自己處理 location ~ ^/(images|javascript|js|css|flash|media|static)/ { root /zachary/shop; #過期5天 expires 5d; }
當瀏覽器請求獲取靜態(tài)資源時,若瀏覽器請求的響應狀態(tài)碼為304,其表示從緩存中獲取靜態(tài)資源,而Nginx可以對靜態(tài)資源進行緩存,則當下次瀏覽器再請求靜態(tài)資源時,如資源未變更,后續(xù)請求會從瀏覽器緩存中讀取加載。
注意
瀏覽器獲取靜態(tài)資源不請求后端服務器,從而達到動靜分離的效果。
推薦閱讀
- 網(wǎng)絡化聯(lián)合仿真的時間同步
- Web前端開發(fā)簡明教程(HTML+CSS+JavaScript+jQuery)
- TMS320C55x DSP原理及應用(第3版)
- 網(wǎng)絡工程設計與系統(tǒng)集成(第2版)
- 新型網(wǎng)絡體系結構
- ARM嵌入式體系結構與接口技術(Cortex-A8版)
- 計算思維的結構
- 大學計算機基礎(第6版)
- TMS 320 F28x源碼解讀
- GPU高性能運算之CUDA
- 計算機體系結構基礎(第3版)
- 大模型時代的基礎架構:大模型算力中心建設指南
- 兼容ARM9的軟核處理器設計:基于FPGA
- 嵌入式系統(tǒng)開發(fā)基礎與實踐教程
- 計算機組成原理(基于x86-64架構)