《http權威指南》讀書筆記7

2022-03-04 11:11:43 字數 2418 閱讀 7808

最近對http很感興趣,於是開始看《http權威指南》。別人都說這本書有點老了,而且內容太多。我個人覺得這本書寫的太好了,非常長知識,讓你知道關於http的很多概念,不僅告訴你怎麼做,還告訴你為什麼這麼做。於是我把學到的知識點記錄下來,供以後開發時參考,相信對其他人也有用。

1.快取有以下優點:

2.可以用已有的副本為某些到達快取的請求提供服務,這被稱為快取命中;其它一些到達快取的請求可能會由於沒有副本可用,而被**給原始伺服器,這被稱為快取未命中。原始伺服器的內容可能會發生變化,快取要不時對其進行檢測,看看它們儲存的副本是否仍是伺服器上最新的副本。

3.快取對快取的副本進行再驗證時,會向原始伺服器傳送乙個小的再驗證請求,如果內容沒有變化,伺服器會以乙個小的304 not modified進行相應。只要快取知道副本仍然有效,就會再次將副本標識為暫時新鮮的,並將副本提供給客戶端,這被稱為再驗證命中快取命中

4.由於文件並不全是同一尺寸的,所以文件命中率並不能說明一切。有些大型物件被訪問的次數可能較少,但由於尺寸的原因,對整個資料流量的貢獻卻更大,因此有些人更願意使用位元組命中率作為度量值。

5.客戶端有一種方法來判斷響應是否來自快取,就是使用date首部。將響應中date首部的值與當前時間進行比較,如果響應中的日期值比較早,客戶端通常就可以認為這是一條快取的響應。

6.私有快取是單個使用者專用的,通常內建在web瀏覽器中;公有快取是特殊的共享**伺服器。

7.在實際中,快取實現了層次化。在較小快取中未命中的請求會被導向較大的父快取。有些網路會構建複雜的網狀快取,這種**快取會決定選擇何種路由對內容進行訪問、管理和傳送,因此可將其稱為內容路由器

8.快取的處理步驟

接收,從網路中讀取抵達的請求報文。

解析,對報文進行解析,提取出url和各種首部。

查詢,檢視是否有本地副本可用,如果沒有,就獲取乙份副本。

新鮮度檢測,檢視已快取的副本是否足夠新鮮,如果不是就詢問伺服器是否有更新。

建立響應,用新的首部和已快取的主體來構建一條響應。

傳送,通過網路將響應傳送給客戶端。

日誌,可選地建立乙個日誌檔案。

9.快取不應該調整date首部,date首部表示的是原始伺服器最初產生這個物件的日期。

10.文件過期:通過http/1.0+的expires首部和http/1.1的cache-control:max-age首部,http讓原始伺服器向每個文件加了乙個過期時間。

11.僅僅是已快取文件過期了並不意味著它和原始伺服器上的文件有什麼不同。所以在過期的時候需要伺服器再驗證,詢問原始伺服器文件是否發生了變化。

12.所有以「if-」開頭的條件首部,都是快取再驗證條件首部。其中最重要的是if-modified-since和if-none-match。

13.有時,伺服器希望在對文件進行一些非實質性或不重要的修改時,不要使所有的已快取副本都失效。http/1.1支援弱驗證器,如果只對內容有少量修改,就允許伺服器宣告那是足夠好的等價體。伺服器會用字首「w/」來標識弱驗證器。比如:etag:w/"v2.6"或者if-none-match: w/"v2.6"

14.cache-conrol:no-store會禁止快取;cache-conrol:no-cache表示可以快取,但是每次使用快取前需要進行新鮮度再驗證

15.refresh按鈕會發布乙個附加了cache-control請求首部的get請求,這個請求會強制進行再驗證,或者無條件從伺服器獲取文件。

16.文件過期系統並不是乙個完美的系統,如果發布者不小心分配了乙個很久之後的過期日期,那麼在文件過期之前,它要對文件所做的所有修改都不會出現在任何快取中。因此,很多發布者甚至都不使用過期日期。

17.發布廣告者的兩難處境,雖然快取有利於更快的顯示,但是很多內容提供商的收益都是通過廣告實現的,每向使用者顯示一次廣告內容,內容提供商就會獲得相應的收益。這就是快取的問題,如果快取做的很好,原始伺服器根本收不到任何http訪問,因為這些訪問都被網際網路快取吸收了。所以一般內容提供商都會在內容上加上no-cache首部,讓使用者每次訪問時都與伺服器進行再驗證。

Http權威指南讀書筆記

1.1 http使用的是可靠的資料傳輸協議。1.3 型別 mime型別 multipurpose internet mail extension多用途網際網路郵件擴充套件 是為了解決在不同的電子郵件系統之間搬移報文時存在的問題。mime在電子郵件系統中工作得非常好,因此http也採納了它,用它來描述...

《HTTP權威指南》讀書筆記(二)

get 向伺服器請求資源 post 向伺服器請求資源並提交資料 head 請求伺服器,但僅返回首部,不包含主體內容 put 向伺服器寫入文件 向伺服器的資源中儲存資料 options 詢問伺服器支援的方法有哪些 trace 跟蹤請求,環迴 診斷 最後一站的伺服器會返回一條trace響應,包含伺服器接...

《HTTP權威指南》讀書筆記 快取

web快取是可以自動儲存常見文件副本的http裝置 包括瀏覽器?減少冗餘資料傳輸 緩解頻寬瓶頸 很多網路為本地網路客戶端提供的頻寬比為遠端伺服器提供的頻寬要寬 緩解瞬時擁塞 不會所有的請求都奔著一台伺服器去 降低距離時延 就近訪問麼 命中率 請求命中快取的比例 位元組命中率 請求命中快取的文件,其文...