HTTP »º´æ¿ÉÒÔ˵ÊÇHTTPÐÔÄÜÓÅ»¯Öмòµ¥¸ßЧµÄÒ»ÖÖÓÅ»¯·½Ê½ÁË£¬»º´æÊÇÒ»ÖÖ±£´æ×ÊÔ´¸±±¾²¢ÔÚÏ´ÎÇëÇóʱֱ½ÓʹÓøø±±¾µÄ¼¼Êõ£¬µ± web »º´æ·¢ÏÖÇëÇóµÄ×ÊÔ´ÒѾ±»´æ´¢£¬Ëü»áÀ¹½ØÇëÇ󣬷µ»Ø¸Ã×ÊÔ´µÄ¿½±´£¬¶ø²»»áÈ¥Ô´·þÎñÆ÷ÖØÐÂÏÂÔØ¡£
Ò»¸öÓÅÐãµÄ»º´æ²ßÂÔ¿ÉÒÔËõ¶ÌÍøÒ³ÇëÇó×ÊÔ´µÄ¾àÀ룬¼õÉÙÑÓ³Ù£¬½ÚÊ¡ÍøÂçÁ÷Á¿£¬²¢ÇÒÓÉÓÚ»º´æÎļþ¿ÉÒÔÖظ´ÀûÓ㬽µµÍÍøÂ縺ºÉ£¬Ìá¸ß¿Í»§¶ËÏìÓ¦¡£
ËùÒÔ£¬Ñ§»áÀûÓà HTTP »º´æÊǺÜÓбØÒªµÄ¡£
ÔÚ´Ë£¬ÎÒ»áÏò´ó¼ÒϵͳµÄ½éÉÜHTTP»º´æ»úÖÆ£¬ÆÚÍû¶Ô¸÷λÕýÈ·µÄÀí½âHTTP»º´æÓÐËù°ïÖú¡£
ÔÚ²ûÊöHTTP²»Í¬»º´æ²ßÂÔ֮ǰ£¬ÎÒÃÇÐèÒªÖªµÀÓû§Ë¢ÐÂ/·ÃÎÊÐÐΪ µÄÊֶηֳÉÈýÀࣺ
²»Í¬µÄË¢ÐÂÊֶΣ¬»áµ¼ÖÂä¯ÀÀÆ÷ʹÓò»Í¬µÄ»º´æ²ßÂÔ£¬ÎÒÃÇÏÂÃæ»á·ÖÎöµ½
HTTP »º´æÖ÷ÒªÊÇͨ¹ýÇëÇóºÍÏìÓ¦±¨ÎÄÍ·ÖеĶÔÓ¦ Header ÐÅÏ¢£¬À´¿ØÖÆ»º´æµÄ²ßÂÔ¡£
ÏìӦͷÖÐÏà¹Ø×Ö¶ÎΪExpires¡¢Cache-Control¡¢Last-Modified¡¢Etag¡£
HTTP»º´æµÄÀàÐͺܶ࣬¸ù¾ÝÊÇ·ñÐèÒªÖØÐÂÏò·þÎñÆ÷·¢ÆðÇëÇóÀ´·ÖÀà°üÀ¨Á½ÖÖ£ºÇ¿ÖÆ»º´æºÍ¶Ô±È»º´æ
¼ÙÉèä¯ÀÀÆ÷ÓÐÒ»¸ö»º´æÊý¾Ý¿âÓÃÓÚ±¾µØ»º´æ£¬ÏÈ¿´¿´ä¯ÀÀÆ÷ÇëÇó×ÊÔ´µÄÇé¿ö£º
ÔÚä¯ÀÀÆ÷ÒѾ»º´æÊý¾ÝµÄÇé¿öÏ£¬Ê¹ÓÃÇ¿ÖÆ»º´æÈ¥ÇëÇóÊý¾ÝµÄÁ÷³ÌÊÇÕâÑùµÄ£º
´ÓÁ÷³Ìͼ¿ÉÒÔ¿´µ½£¬Ç¿ÖÆ»º´æ£¬ÔÚ»º´æÊý¾ÝδʧЧµÄÇé¿öÏ£¬¿ÉÒÔÖ±½ÓʹÓûº´æÊý¾Ý£¬²»ÐèÒªÔÙÇëÇó·þÎñÆ÷£¬ÄÇôä¯ÀÀÆ÷ÊÇÈçºÎÅжϻº´æÊý¾ÝÊÇ·ñʧЧÄØ£¿
¶ÔÓÚÇ¿ÖÆ»º´æÀ´Ëµ£¬ÏìÓ¦headerÖлáÓÐÁ½¸ö×Ö¶ÎÀ´±êÃ÷ʧЧ¹æÔò£¨Expires/Cache-Control£©£º
Expires ÊÇ HTTP1.0 µÄ²úÎïÁË£¬ÏÖÔÚĬÈÏä¯ÀÀÆ÷¾ùĬÈÏʹÓà HTTP 1.1£¬ËùÒÔËüµÄ×÷Óûù±¾ºöÂÔ¡£µ«ÊǺܶàÍøÕ¾»¹ÊǶÔËü×öÁ˼æÈÝ¡£ËüµÄֵΪ·þÎñ¶Ë·µ»ØµÄµ½ÆÚʱ¼ä£¬¼´ÏÂÒ»´ÎÇëÇóʱ£¬ÇëÇóʱ¼äСÓÚ·þÎñ¶Ë·µ»ØµÄµ½ÆÚʱ¼ä£¬Ö±½ÓʹÓûº´æÊý¾Ý¡£
µ«ÓÐÒ»¸öÎÊÌâÊǵ½ÆÚʱ¼äÊÇÓÉ·þÎñ¶ËÉú³ÉµÄ£¬Èç¹û¿Í»§¶Ëʱ¼ä¸ú·þÎñÆ÷ʱ¼ä²»Ò»Ö£¬Õâ¾Í»áµ¼Ö»º´æÃüÖеÄÎó²î¡£
ÔÚ HTTP 1.1 µÄ°æ±¾£¬Expires ±» Cache-Control Ìæ´ú¡£
Cache-Control ÊÇ×îÖØÒªµÄ¹æÔò¡£³£¼ûµÄÈ¡ÖµÓÐ private¡¢public¡¢no-cache¡¢max-age£¬no-store£¬Ä¬ÈÏΪ private¡£
1)?max-age£ºÓÃÀ´ÉèÖÃ×ÊÔ´£¨representations£©¿ÉÒÔ±»»º´æ¶à³¤Ê±¼ä£¬µ¥Î»ÎªÃ룻
2)?s-maxage£ººÍ max-age ÊÇÒ»ÑùµÄ£¬²»¹ýËüÖ»Õë¶Ô´úÀí·þÎñÆ÷»º´æ¶øÑÔ£»
3)?public£ºÖ¸Ê¾ÏìÓ¦¿É±»Èκλº´æÇø»º´æ£»
4)?private£ºÖ»ÄÜÕë¶Ô¸öÈËÓû§£¬¶ø²»Äܱ»´úÀí·þÎñÆ÷»º´æ£»
5)?no-cache£ºÇ¿ÖÆ¿Í»§¶ËÖ±½ÓÏò·þÎñÆ÷·¢ËÍÇëÇó,Ò²¾ÍÊÇ˵ÿ´ÎÇëÇ󶼱ØÐëÏò·þÎñÆ÷·¢ËÍ¡£·þÎñÆ÷½ÓÊÕµ½ÇëÇó£¬È»ºóÅжÏ×ÊÔ´ÊÇ·ñ±ä¸ü£¬ÊÇÔò·µ»ØÐÂÄÚÈÝ£¬·ñÔò·µ»Ø304£¬Î´±ä¸ü¡£Õâ¸öºÜÈÝÒ×ÈÃÈ˲úÉúÎó½â£¬Ê¹ÈËÎóÒÔΪÊÇÏìÓ¦²»±»»º´æ¡£Êµ¼ÊÉÏCache-Control: ?no-cacheÊǻᱻ»º´æµÄ£¬Ö»²»¹ýÿ´ÎÔÚÏò¿Í»§¶Ë£¨ä¯ÀÀÆ÷£©ÌṩÏìÓ¦Êý¾Ýʱ£¬»º´æ¶¼ÒªÏò·þÎñÆ÷ÆÀ¹À»º´æÏìÓ¦µÄÓÐЧÐÔ¡£
6) no-store£º½ûÖ¹Ò»Çлº´æ£¨Õâ¸ö²ÅÊÇÏìÓ¦²»±»»º´æµÄÒâ˼£©¡£
¾Ù¸öÀý×Ó£¬±ÈÈçÒ»¸ö×ÊÔ´ÏìӦͷÊÇ£º
ÄÇôÕâ¸ö×ÊÔ´»á±»»º´æ31536000Ã루365Ì죩£¬ÔÚ365ÌìÄÚÔÙ´ÎÇëÇóÕâÌõÊý¾Ý£¬¶¼»áÖ±½Ó»ñÈ¡»º´æÊý¾Ý¿âÖеÄÊý¾Ý£¬Ö±½ÓʹÓá£
ÄÇôÎÒÃÇÊÔÊÔÔٴηÃÎÊ×ÊÔ´£¬»áÓÐÒÔϵÄÏìÓ¦£º
¿ÉÒÔ¿´µ½HTTP״̬ÂëÊÇ200£¬SizeÕâ¸ö×Ö¶ÎÏÔʾ£ºdisk cache£¬ËµÃ÷ä¯ÀÀÆ÷ȷʵ×ßÁËÇ¿ÖÆ»º´æ£¬Ã»ÓÐÔÙ¸úä¯ÀÀÆ÷½»»¥¡£
ÎÒÃÇÉÏÃæ˵ÁË£¬²»Í¬µÄ·ÃÎÊ/Ë¢ÐÂÊֶΣ¬»áʹä¯ÀÀÆ÷ʹÓò»Í¬µÄ»º´æ²ßÂÔ£¬ÒªÈÃä¯ÀÀÆ÷×ßÇ¿ÖÆ»º´æ¶ÔÇëÇó·½Ê½ÓÐÒ»¸öÒªÇó: ÔÚURIÊäÈëÀ¸ÖÐÊäÈëÈ»ºó»Ø³µ/ͨ¹ýÊéÇ©·ÃÎÊ¡£
ÔÚä¯ÀÀÆ÷ÒѾ»º´æÊý¾ÝµÄÇé¿öÏ£¬Ê¹ÓöԱȻº´æÈ¥ÇëÇóÊý¾ÝµÄÁ÷³ÌÊÇÕâÑùµÄ¡£
ÓÐͬѧ¿ÉÄÜ»áÎÊ£¬»ùÓڶԱȻº´æµÄÁ÷³ÌÏ£¬²»¹ÜÊÇ·ñʹÓûº´æ£¬¶¼ÐèÒªÏò·þÎñÆ÷·¢ËÍÇëÇó£¬ÄÇô»¹Óûº´æ¸Éʲô£¿
Õâ¸öÎÊÌ⣬ÎÒÃÇÏÖÔÚÀ´Ì½ÌÖһϡ£
¶Ô±È»º´æ£¬¹ËÃû˼Ò壬ÐèÒª½øÐбȽÏÅжÏÊÇ·ñ¿ÉÒÔʹÓûº´æ¡£
ä¯ÀÀÆ÷µÚÒ»´ÎÇëÇóÊý¾Ýʱ£¬·þÎñÆ÷»á½«»º´æ±êʶÓëÊý¾ÝÒ»Æ𷵻ظøä¯ÀÀÆ÷£¬ä¯ÀÀÆ÷½«¶þÕß±¸·ÝÖÁ»º´æÊý¾Ý¿âÖС£
µ±ä¯ÀÀÆ÷ÔÙ´ÎÇëÇóÊý¾Ýʱ£¬ä¯ÀÀÆ÷½«±¸·ÝµÄ»º´æ±êʶ·¢Ë͸ø·þÎñÆ÷£¬·þÎñÆ÷¸ù¾Ý»º´æ±êʶ½øÐÐÅжϣ¬Åжϳɹ¦ºó£¬·µ»Ø304״̬Â룬֪ͨ¿Í»§¶Ë±È½Ï³É¹¦£¬¿ÉÒÔʹÓûº´æÊý¾Ý¡£
¾Ù¸öÀý×Ó£¬µÚÒ»´Î·ÃÎÊ£º
µÚ¶þ´Î·ÃÎÊ£º
¶ÔÓڶԱȻº´æÀ´Ëµ£¬ÏìÓ¦ header ÖлáÓÐÁ½¸ö×Ö¶ÎÀ´±êÃ÷¹æÔò
·þÎñÆ÷ÏìÓ¦ÇëÇóʱ£¬»á¸æËßä¯ÀÀÆ÷Ò»¸ö¸æËßä¯ÀÀÆ÷×ÊÔ´µÄ×îºóÐÞ¸Äʱ¼ä£ºLast-Modified£¬ä¯ÀÀÆ÷Ö®ºóÔÙÇëÇóµÄʱºò£¬»á´øÉÏÒ»¸öÍ·£ºIf-Modified-Since£¬Õâ¸öÖµ¾ÍÊÇ·þÎñÆ÷ÉÏÒ»´Î¸øµÄ Last-Modified µÄʱ¼ä£¬·þÎñÆ÷»á±È¶Ô×ÊÔ´µ±Ç°×îºóµÄÐÞ¸Äʱ¼ä£¬Èç¹û´óÓÚIf-Modified-Since£¬Ôò˵Ã÷×ÊÔ´Ð޸ĹýÁË£¬ä¯ÀÀÆ÷²»ÄÜÔÙʹÓûº´æ£¬·ñÔòä¯ÀÀÆ÷¿ÉÒÔ¼ÌÐøʹÓûº´æ£¬²¢·µ»Ø304״̬Âë¡£
·þÎñÆ÷ÏìÓ¦ÇëÇóʱ£¬Í¨¹ýEtagÍ·²¿¸æËßä¯ÀÀÆ÷µ±Ç°×ÊÔ´ÔÚ·þÎñÆ÷µÄΨһ±êʶ£¨Éú³É¹æÔòÓÉ·þÎñÆ÷¾ö¶¨£©£¬ä¯ÀÀÆ÷ÔÙ´ÎÇëÇóʱ£¬¾Í»á´øÉÏÒ»¸öÍ·If-None-Match£¬Õâ¸öÖµ¾ÍÊÇ·þÎñÆ÷ÉÏÒ»´Î¸øµÄEtagµÄÖµ£¬·þÎñÆ÷±È¶ÔÒ»ÏÂ×ÊÔ´µ±Ç°µÄEtagÊÇ·ñ¸úIf-None-MatchÒ»Ö£¬²»Ò»ÖÂÔò˵Ã÷×ÊÔ´Ð޸ĹýÁË£¬ä¯ÀÀÆ÷²»ÄÜÔÙʹÓûº´æ£¬·ñÔòä¯ÀÀÆ÷¿ÉÒÔ¼ÌÐøʹÓûº´æ£¬²¢·µ»Ø304״̬Âë¡£
¿´¸öÀý×Ó£ºµÚÒ»´ÎÇëÇ󣬷þÎñÆ÷µÄÏìӦͷ°üº¬ÁË£º
µÚ¶þ´ÎÇëÇó£¬ä¯ÀÀÆ÷µÄÇëÇóÍ·
ÎÒÃÇÔÙ¿´Ò»ÏÂHTTP»º´æµÄÒ»¸ö×ܸÅÁ÷³Ìͼ£º
ÁìȡרÊô 10ÔªÎÞÃż÷ȯ
˽Ïí×îР¼¼Êõ¸É»õ