文章出處

最近面試,被問到了HTTP的相關知識,深知自己的不足,于是惡補了一下。

請求頭的字段

user-agent
pragma
Cache-control
Referer
Accept
Cookit
If-Modified-Since
If-None-Match

響應頭的字段

content-type
Date
ETag
Last-Modefied
Age
Cache-Control
Access-Control-Allow-Origin

Etag

如果配置了Etag,在第一次請求的時候,響應頭會下發ETag屬性,再下一次請求,會帶上If-None-Match,如果服務端沒有匹配的ETag,返回200和新的ETag。如果有匹配的Etag,返回304請求。

緩存的種類

強緩存和協商緩存

新鮮度和有效性

強緩存用Cache-Control、Expires、Pragma來控制,如果在有效期內不會發任何請求到服務器

協商緩存用ETag、Last-Modified、If-None-Match、If-Modified-Since來控制,特點是會發一個請求來確認緩存是否有效,如果有效就返回304,省去傳輸內容的時間。

如果瀏覽器發起一個請求,發現本地的資源已經過期,則會附加一個If-None-Match

注意,按F5刷新瀏覽器,會忽略Cache-Control和Expires

強緩存

如果同時設置了Cache-Control和Expires,Expires會忽略。
注意,強緩存有效的前提下,不會發送請求到服務器,也就是說,不會有協商緩存什么事情。

參考:
http://www.cnblogs.com/vajoy/p/5341664.html#3800753


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()