知乎網站是如何做到無緩存的情況下,每個頁面響應速度這麼快的呢?
01-21
知乎網站的響應頭如下:
在不允許緩存的情況下,如何做到每個頁面立即響應呢?
不是你想像中那樣子的哈,沒有使用cache的是知乎的首頁,這個html只是個架子,裡面包含了大量的css、js、javascript、圖片等靜態資源,那些資源是有使用cache的。
例如這個,雖然沒有使用瀏覽器本地cache,但是使用了服務端的緩存。服務端返回304 Not Modified的意思就是,服務端資源沒有修改過,讓瀏覽器使用本地的css資源。
這個圖片,使用的就是瀏覽器本地cache,並沒有發送請求到服務端,這些資源是有使用本地緩存機制的。
總的來說,是知乎一些實時性要求高的部分,沒有使用cache,大部分還是使用了類似304或者瀏覽器本地cache的緩存機制。為什麼有些地方不使用本地緩存?本地緩存雖然帶來了良好的用戶體驗,同時不耗費網路通信時間等優點,但是,它最大的缺點在於開發人員發布了新的內容,但是,用戶瀏覽器本地仍然是舊的,這會導致一些體驗的問題。因此,某些關鍵的頁面不使用cache,也是為了比較好地控制這個問題。
響應速度快!? 我一天有多少次因為load不出內容而放棄閱讀你造嗎?!
不覺得快,每個問答都要刷新1到2秒,甚至3、4秒,即使是打開過的有大量圖片的,退出問答頁後,又得刷新那麼久
推薦閱讀:
※帝都找個前端的工作為何這麼難?
※跨平台的響應式設計日後會得到普及嗎?
※初級前端面試需要帶什麼作品?
※怎樣開始學習前端知識?
※一個網站的 UI 好看與否是否只能是站長的孤芳自賞?