禁用緩存
在chrome 53中,如果選中了network
面板里面的Disable cache
,那么,瀏覽器發(fā)送的請求中的Cache-Control
會產(chǎn)生變化
st=>start: 是否禁用緩存
cond=>condition: Yes or No?
op1=>operation: Cache-Control:no-cache
op2=>operation: Cache-Control:max-age=0
st->cond
cond(yes)->op1
cond(no)->op2
使用no-cache的目的是為了防止從緩存中返回過期的資源
在<圖解HTTP>這一本書中,提到過:
no-cache
: 強制向源服務器再次驗證
max-age=[秒]
: 響應的最大Age值
其實,我覺得值得考究的是max-age=0
和no-cache
具體的差異在哪里?
后來面向stackoverflow編程后,我得到了如下總結:
max-age
用于指示多少秒后驗證一次資源的有效性,等于0
表示立即向服務器驗證資源的有效性,如果服務器返回的響應是304
,那么瀏覽器可以直接使用緩存中的數(shù)據(jù),然后no-cache
表示我只要最新的資源,不會使用瀏覽器緩存中的資源,并且服務器不必驗證資源的有效性.
View resource initiators and dependencies
這一章挺有意思的,講的是你按住shift
鍵后把鼠標移動到網(wǎng)絡面板中的一個資源上(先暫時把他叫做target
),別的資源有可能會出現(xiàn)綠色或則是紅色的底,綠色底的資源表示它是target
的initiator
(感覺可以把它翻譯為發(fā)起請求target
這個資源的資源,比如html中加載了一張圖片,那么html可以當做initiator
,圖片可以當做target
),紅色底的資源表示是target
的依賴(比如html文件中加載了css
和js
文件,那么css
和js
文件就都是html的依賴)
用chrome開發(fā)者中心的文檔來解釋一下:
當查看dn/
這個資源的時候,出現(xiàn)了兩個綠色底的資源,rs
開頭的這個資源是initialtor
,同時,www.google.com
也是rs
這個資源的initialtor
.因為dn/
這個資源需要下載dn.js
所以dn.js
顯示紅色.
后續(xù)
當然,文檔里面還有很多有意思的東西,這里就不一一列出來了,我覺得,有很多東西,都是遇到問題的時候,多想想,也就能記起之前看過的好的工具,多用熟練起來后,才能把它牢牢地記載腦子里.