Cdn
在與伺服器相同的位置使用 CDN
CDN 的目的之一是將您的靜態資產分發到離您的使用者最近的區域。假設我的伺服器位於 X 位置,而我的大多數使用者將位於 Y。但是離 Y 最近的 CDN 伺服器將位於 X。如果伺服器與伺服器位於同一區域,那麼使用 CDN 的優勢是什麼? 與僅將圖像託管在伺服器本身而不是將其放入伺服器有什麼區別。
CDN 除了地理分佈之外還有幾個好處:
- 無 Cookie 域:如果您的靜態內容位於 CDN 上,那麼您的使用者不會在請求靜態文件時發送您網站的 cookie,這將轉化為 CSS、JS 和圖像的更快請求和響應時間。
- 並行下載。瀏覽器通常在每台主機上一次只下載兩個項目。通過將您的內容推送到 CDN,瀏覽器將為您現在擁有的每個主機名打開更多並發下載。
- 速度。CDN 經過優化以快速發送靜態內容,這通常比嘗試通過也嘗試生成動態內容的通用網路伺服器發送更好。
- 分佈式負載。分叉整個 Apache 程序來服務 favicon.ico 有點浪費。
對於前兩個,您應該注意,將主伺服器設置為在任意數量的無 cookie 子域上發送靜態內容非常容易。您還應該注意,由於 DNS 查找所需的往返行程,讓您的靜態內容分佈在太多域中可能會扼殺您從並行下載中獲得的性能提升。對於第三點和第四點,只有當您的主伺服器負載很大時,它們才會真正有所幫助。
就我而言,如果您沒有遇到特定的性能問題,那麼這種情況下的 CDN 代表了一種不應該被打擾的微優化。我只是設置主伺服器來提供來自幾個子域的靜態內容,然後就可以收工了。