天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

HTTP Caching 優化網站

  HTTP Caching 用好了,可以極大的減小服務器負載和減少網絡帶寬。十分有必要深入了解下 http 的 caching 協議。

  先來看下請求/響應過程:

http 請求/響應

http 請求/響應

  1、用 Last-Modified 頭

  在第一次請求的響應頭返回 Last-Modified 內容,時間格式如:Wed, 22 Jul 2009 07:08:07 GMT。是零時區的 GMT 時間,servlet 中可以用 response.addDateHeader ("Last-Modified", date.getTime ()); 加入響應頭。如圖:

last-modified 和 If-Modified-Since

last-modified 和 If-Modified-Since

  Last-Modified 與 If-Modified-Since 對應的,前者是響應頭,后者是請求頭。服務器要處理 If-Modified-Since 請求頭與 Last-Modified 對比看是否有更新,如果沒有更新就返回 304 響應,否則按正常請求處理。如果要在動態內容中使用它們,那就要程序來處理了。

  ps:servlet 取 If-Modified-Since 可以用 long last = requst.getDateHeader ("If-Modified-Since");

  2、用 Etag 頭

  很多時間可能不能用時間來確定內容是否有更新。那可以用 Etag 頭,etag 是以內容計算一個標識。計算的方式可以自己決定,比如可以用 crc32、md5等。

Etag 和 If-None-Match

Etag 和 If-None-Match

  Etag 與 If-None-Match 是對應的,前者是響應頭,后者是請求頭。服務器要判斷請求內容計算得到的 etag 是否與請求頭 If-None-Match 是否一致,如果一致就表示沒有更新,返回 304 就可,否則按正常請求處理。可以參考:用 HttpServletResponseWrapper 實現 Etag 過濾器

  3、用 Expires 頭,過期時間

  當請求的內容有 Expires 頭的時候,瀏覽器會在這個時間內不去下載這個請求的內容(這個行為對 F5 或 Ctrl+F2 無效,用 IE7,Firefox 3.5 試了,有效的比如:在地址輸入后回車)。

expires 過期時間

expires 過期時間

  在 servlet 中可以用 response.addDateHeader ("Expires", date.getTime ()); 添加過期內容。

  ps:在 httpwatch 中可以看到 Result 為 (Cached) 狀態的。

  4、用 max-age 的 Cache-Control 頭

  max-age 的值表示,多少秒后失效,在失效之前,瀏覽器不會去下載請求的內容(當然,這個行為對 F5 或 Ctrl+F2 無效)。比如:服務器寫 max-age 響應:response.addHeader ("Cache-Control", "max-age=10");

  ps:如果你還要加一些 Cache-Control 的內容,比如:private,最好不要寫兩個 addHeader,而是一個 response.addHeader ("Cache-Control", "private, max-age=10"); 否則 ie 可能對 max-age 無效,原因它只讀第一個 Cache-Control 頭。

  小結:

  Last-Modified 與 Etag 頭(即是方式 1 和2)還是要請求服務器的,只是僅返回 304  頭,不返回內容。所以瀏覽怎么 F5 ,304 都是有效的。但用 Ctrl+F5 是全新請求的(這是瀏覽器行為,不發送緩存相關的頭)。

  Expires 頭與 max-age 緩存是不需要請求服務器的,直接從本地緩存中取。但 F5 會忽視緩存(所以使用 httpwatch 之類的 http 協議監察工具時,不要 F5 誤認為 Expires 和 max-age 是無效的)。

  http 協議監察工具:

  Firebox:httpfox、live http header

  IE:httpwatch、iehttpheader

  重要參考文章:How To Optimize Your Site With HTTP Caching

it知識庫HTTP Caching 優化網站,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲粉嫩美白在线 | 无码AV毛片色欲欧洲美洲 | 久久精品国产96精品亚洲 | 日产精品高潮呻吟AV久久 | 极品 女神校花 露脸91 | 色欲AV无码乱码精品国产 | caoporn超碰在线 | 在线 | 果冻国产传媒61国产免费 | 日本一区不卡在线播放视频免费 | 在线观看黄色小说 | yellow日本动漫观看免费 | 亚洲人成在线观看一区二区 | 色老板影视 | 曰本老头同性xxxxx | 国产综合在线观看 | 色噜噜狠狠一区二区三区 | 麻豆XXXX乱女少妇精品 | 飘雪韩国在线观看免费高清完整版 | 欧美日韩中文字幕综合图区 | 午夜伦理伦理片在线观 | 国产亚洲精品久久久久久禁果TV | 永久久久免费人妻精品 | 又亲又揉摸下面视频免费看 | 欧美一区二区日韩一区二区 | 国语自产视频在线不卡 | 高傲教师麻麻被同学调教123 | 寂寞夜晚免费观看视频 | 99久视频只有精品2019 | 色婷婷综合激情中文在线 | 超碰在线视频公开 | 2021年国产精品久久 | 欧美特级另类xxx | 国产片MV在线观看 | 天天靠天天擦天天摸 | 亚洲偷自拍精品视频在线观看 | 中文字幕在线视频在线看 | 交换娇妻呻吟声不停中文字幕 | 日本女人bbb | proburn中文破解版下载 | 出差无套内射小秘书 | 被六个男人躁到一夜同性 |