緙撳瓨鍗忓晢
鐜板湪鎴戜滑闇瑕佸皢鐢ㄦ埛鐨勬祻瑙堝櫒涔熺撼鍏ユ垜浠瀯寤虹綉绔欏悇涓紦瀛樺眰嬈′腑鐨勫叾涓竴涓噸瑕佸眰嬈★紝緗戠珯淇℃伅鍜屽唴瀹瑰湪鐢眞eb鏈嶅姟鍣ㄧ敓鎴愶紝鑰屽皢榪欎簺淇℃伅鍜屽唴瀹逛綔涓轟竴孌典簩榪涘埗鐨勬枃浠朵綔涓烘湰鍦扮紦瀛樻枃浠跺瓨鏀懼湪鐢ㄦ埛鐨勬祻瑙堝櫒錛屾槸涓や釜鐙珛涓綋鍏卞悓瀹屾垚鐨勪換鍔★紝鎵浠ヤ袱鑰呬箣闂撮渶瑕佷竴縐嶆矡閫氱殑鏈哄埗錛屼篃灝辨槸HTTP鐨勭紦瀛樺崗鍟?br />
Last-Modified鍜孖f-Modified-Since鍗忓晢
Last-Modified鍜孖f-Modified-Since鍒嗗埆浣嶄簬鍝嶅簲澶翠俊鎭拰璇鋒眰澶翠俊鎭腑錛岄兘鏄褰曡姹傜殑欏甸潰鏈鍚庣殑淇敼鏃墮棿
鍦ㄧ涓嬈¤闂畐eb鏈嶅姟鍣ㄤ細(xì)榪斿洖200鐘舵侊紝騫跺湪嫻忚鍣ㄧ殑鍝嶅簲澶碙ast-Modified涓婂啓涓婃欏甸潰鏈鍚庝慨鏀圭殑鏃墮棿鎴?br />
浣跨敤firebug榪涜鏌ョ湅

鍦ㄥ啀嬈¤闂椂錛屾祻瑙堝櫒浼?xì)鎶娊W竴嬈¤繑鍥濴ast-Modified鐨勬椂闂存埑璁板綍鍒癐f-Modified-Since錛屽茍浣滀負(fù)璇鋒眰澶翠俊鎭彂閫佸埌鏈嶅姟鍖猴紝web鏈嶅姟鍣ㄤ細(xì)閫氳繃If-Modified-Since涓婄殑鏃墮棿鎴蟲(chóng)潵鍒ゆ柇鐢ㄦ埛鐨勯〉闈㈡槸鍚︽槸鏈鏂扮殑錛屽鏋滀笉鏄渶鏂扮殑錛屽垯榪斿洖鏂扮殑欏甸潰騫朵慨鏀瑰搷搴斿ごLast-Modified鏃墮棿鎴崇粰鐢ㄦ埛錛屽鏋滃垽鏂槸鏈鏂扮殑錛屽垯榪斿洖304鐘舵佸茍鍛婅瘔嫻忚鍣ㄦ湰鍦扮殑cache欏甸潰鏄渶鏂扮殑錛屾祻瑙堝櫒鍙互鐩存帴鍔犺澆鏈湴欏甸潰錛岃繖鏍峰彲浠ュ噺灝戠綉緇滀笂浼犺緭鐨勬暟鎹紝騫朵笖涔熷噺灝戞湇鍔″櫒鐨勮礋鎷呫?br />

榪欓噷闇瑕佹敞鎰忕殑鏄紝HTTP鍗忚涓瀹氫嬌鐢ㄧ殑鏄疓MT鏃墮棿(鏍兼灄濞佹不)錛岃屾垜浠浗瀹朵嬌鐢ㄧ殑鏄疓MT+8鐨勬椂闂達(dá)紝鎵浠ユ垜浠粠firebug涓湅鍒扮殑鏃墮棿鏄瘮鎴戜滑鏃╀簡(jiǎn)8涓皬鏃訛紝涓嶈繃榪欐病鍏崇郴錛屽畠騫朵笉褰卞搷鍒扮紦瀛樼殑瀵規(guī)瘮宸ヤ綔
Etag鍗忓晢
濡傛灉鎴戜滑鐨勪竴涓枃浠跺瓨鏀懼湪澶氬彴web鏈嶅姟鍣ㄤ笂錛岀敤鎴風(fēng)殑璇鋒眰鍦ㄨ繖浜涙湇鍔″櫒涓婁箣闂磋疆璇紝瀹炵幇璐熻澆鍧囪 錛岄偅浜涜繖涓枃浠跺湪鍚勫彴web鏈嶅姟鍣ㄧ殑鏈鍚庝慨鏀規(guī)椂闂村緢鍙兘鏄笉涓鏍鳳紝榪欐牱鐢ㄦ埛姣忔璇鋒眰鍒扮殑web鏈嶅姟鍣ㄩ兘鍙兘鏄笉鍚岋紝Last-Modified鍜孖f-Modified-Since鍒欐棤娉曞搴旓紝瀵艱嚧姣忔閮介渶瑕侀噸鏂拌幏鍙栧唴瀹癸紝榪欐椂鍊欓噰鐢ㄧ洿鎺ユ爣璁板唴瀹圭殑Etag綆楁硶錛屽氨鍙互閬垮厤涓婅堪鐨勯棶棰?br />
Etag鏄敱Web鏈嶅姟鍣ㄧ敓鎴愮殑錛屽Apache涓轟竴涓潤(rùn)鎬佹枃浠舵柊澧炲搷搴斿ご涓?br />
Etag "e3af4060-5-472bedf076880"
嫻忚鍣ㄨ幏寰楄繖涓狤tag鍚庯紝渚夸細(xì)鍦ㄤ笅嬈¤姹傝欏甸潰鏃訛紝鍦℉TTP鐨勮姹傚ご闄勪笂If-None-Match "e3af4060-5-472bedf076880"錛屼笌web鏈嶅姟鍣ㄤ笂鐨凟tag鍊肩浉姣旇緝錛屽鏋滄槸鐩稿悓鐨勮瘽錛屼究榪斿洖304鐘舵侊紝涓嶅悓鍒欓噸鏂拌繑鍥炴柊欏甸潰淇℃伅

褰撶劧鍟︼紝榪欓噷瑕佹寚鍑烘祻瑙堝櫒緙撳瓨鍙拡瀵笻TML鍜孒TM榪涜鑰屽姩鎬佹枃浠跺垯鏃犳硶緙撳瓨錛屾祻瑙堝櫒騫朵笉鍦ㄤ箮浣犵殑鏂囦歡鏄惁鍔ㄦ佽繕鏄潤(rùn)鎬侊紝嫻忚鍣ㄥ彧璁ゅ噯鍜寃eb鏈嶅姟鍣ㄩ氳鐨凥TTP鍗忓晢錛屾墍浠ュ彧瑕佸姩鎬侀〉闈TTP澶翠俊鎭寘鍚殑緙撳瓨鍗忓晢淇℃伅錛屽姩鎬佸唴瀹逛篃鏄彲浠ヤ竴鏍瘋嫻忚鍣ㄨ繘琛岀紦瀛樼殑錛屽拰闈?rùn)鎬侀〉闈㈡棤浠涔堜袱鏍鳳紝鍙槸浣犵‘瀹氫綘闇瑕佽繖鏍峰仛錛岃鍔ㄦ侀〉闈㈣緙撳瓨錛?br />
浠ヤ笅鏄涓涓猨sp榪涜鍐欏ご淇℃伅
response.addHeader("Last-Modified",DateUtl.format(new java.util.Date())+" GMT");
response.addHeader("ETag","e3af4060-5-472bedf076880");
鍚屾牱錛岃繖鏍蜂袱涓緗細(xì)鍐欏叆嫻忚鍣ㄧ殑鍝嶅簲澶達(dá)紝榪欎釜鍔ㄦ佹枃浠惰窡闈?rùn)鎬佹枃浠朵竴鏍蜂細(xì)琚祻瑙堝櫒緙撳瓨
Expires
Expires鏍囪鍛婅瘔嫻忚鍣ㄨ欏甸潰浣曟椂榪囨湡錛屽茍涓斿湪姝よ繃鏈熷墠涓嶉渶瑕佸啀璁塊棶web鏈嶅姟鍣紝鐩存帴浣跨敤鏈湴鐨勭紦瀛樻枃浠跺嵆鍙紝榪欐牱璇鋒眰鍝嶅簲澶撮兘涓嶉渶瑕侊紝紜疄鑺傜渷浜?jiǎn)甯﹀鍜屾湇鍔″櫒鐨勫紑閿錛屼絾鏄氨綆楅〉闈㈠湪web鏈嶅姟鍣ㄤ笂鏇存柊鍚庡湪Expires榪囨湡鍓嶄篃涓嶄細(xì)鍑虹幇鍦ㄧ敤鎴烽潰鍓嶏紝絀剁珶鏄惁搴旇鍦ㄤ簬鎴戜滑鐨勫疄闄呭簲鐢ㄥ拰鍙栬垗
涓嬮潰鏄疉pache涓彁渚涚殑mod_expires妯″潡
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A600
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/plain A86400
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType video/x-flv A2592000
ExpiresByType application/pdf A2592000
ExpiresByType text/html A600
</IfModule>
鎴栬?br />
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 12 hours"
ExpiresByType text/html "access plus 3 days"
ExpiresByType text/plain "access plus 3 days"
ExpiresByType text/css "access plus 7 days"
ExpiresByType image/gif "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/x-icon "access plus 30 days"
ExpiresByType video/x-flv "access plus 30 days"
ExpiresByType application/x-shockwave-flash "access plus 30 days"
</IfModule>
鎴戜滑鍦╦sp鏂囦歡涔熷彲浠ユ寚瀹歟xpires鐨勮繃鏈熸椂闂?br />
response.addHeader("Expires",DateUtl.format(new java.util.Date())+" GMT");

褰撶劧鍟︼紝浣犲啀鍒鋒柊涔熶笉浼?xì)杩斿?04鐘舵侊紝鍥犱負(fù)嫻忚鍣ㄥ凡緇忎笉鐢ㄦ兂web鏈嶅姟鍣ㄥ彂鍑?guó)櫙锋?br />
----------------------------------------
by 闄堜簬鍠?
Mail: chenyz@corp.netease.com
鍙傝冩枃绔?br />
閮 銆婃瀯寤洪珮鏂拌兘web绔欑偣銆?br />
涓枃鐗?銆奌TTP鍗忚(RFC2616)銆?br />

]]>