Baseline Widely available
Cache-Control
㯠HTTP ã®ãããã¼ãã£ã¼ã«ãã§ã ãã£ãã·ã¥ ããã©ã¦ã¶ã¼ãå
±æãã£ãã·ã¥ï¼ãããã·ã¼ã CDN ãªã©ï¼ã«ããã¦å¶å¾¡ããããã®ãã£ã¬ã¯ãã£ã (æç¤º) ãããªã¯ã¨ã¹ãã¨ã¬ã¹ãã³ã¹ã®ä¸¡æ¹ã§ä¿æãã¾ãã
ãã£ãã·ã¥ã®ãã£ã¬ã¯ãã£ãã«ã¯ã以ä¸ã®ãããªè¦åãããã¾ãã
Cache-control: max-age=180, public
ãªã©ï¼ã=
) ã§åºåãã¾ããé常ããã£ã¬ã¯ãã£ãã®å¼æ°ã¯æ´æ°ã§ãããããå¼ç¨ç¬¦ã§å²ããã¨ã¯ããã¾ããï¼Cache-control: max-age=12
ãªã©ï¼ãæ¨æºç㪠Cache-Control
ãã£ã¬ã¯ãã£ãã¯ä»¥ä¸ã®ããã«å®ç¾©ããã¦ãã¾ãã
max-age
max-age
max-stale
- min-fresh
- - s-maxage
no-cache
no-cache
no-store
no-store
no-transform
no-transform
only-if-cached
- - must-revalidate
- proxy-revalidate
- must-understand
- private
- public
- immutable
- stale-while-revalidate
stale-if-error
stale-if-error
注æ: äºææ§ä¸è¦§è¡¨ã§å¯¾å¿ç¶æ³ã確èªãã¦ãã ãããè§£éã§ããªãã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã¯ããããç¡è¦ãã¾ãã
ç¨èªéãã®ç¯ã§ã¯ããã®è¨äºã§ä½¿ç¨ããç¨èªãå®ç¾©ãã¦ãã¾ããæ¬¡ã®ç¨èªã使ç¨ããã¦ãã¾ãããã¹ã¦ã§ã¯ããã¾ãããã仿§æ¸ã«åºã¥ãã¦ãã¾ãã
ãªã¯ã¨ã¹ãã¨ã¬ã¹ãã³ã¹ãä¿æããæ¬¡ã®ãªã¯ã¨ã¹ãã§åå©ç¨ããããã®å®è£ ãå ±æãã£ãã·ã¥ã¾ãã¯ãã©ã¤ãã¼ããã£ãã·ã¥ã®ããããã§ãã
ãªãªã¸ã³ãµã¼ãã¼ã¨ã¯ã©ã¤ã¢ã³ãã®éã«åå¨ãããã£ãã·ã¥ï¼Proxy, CDN ãªã©ï¼ã1 ã¤ã®ã¬ã¹ãã³ã¹ãä¿åãããããè¤æ°ã®ã¦ã¼ã¶ã¼ã§åå©ç¨ãã¾ãããããã£ã¦ãéçºè ã¯å ±æãã£ãã·ã¥ã«ãã¼ã½ãã©ã¤ãºãããã³ã³ãã³ãããã£ãã·ã¥ã¨ãã¦ä¿åãããã¨ã¯é¿ããã¹ãã§ãã
ã¯ã©ã¤ã¢ã³ãå ã«åå¨ãããã£ãã·ã¥ã§ãããã¼ã«ã«ãã£ãã·ã¥ããããã¯åã«ãã©ã¦ã¶ã¼ãã£ãã·ã¥ãªã©ã¨ãå¼ã°ãã¾ããã¦ã¼ã¶ã¼ã®ããã«ãã¼ã½ãã©ã¤ãºãããã³ã³ãã³ããä¿åããåå©ç¨ã§ãã¾ãã
ãã£ãã·ã¥å¯è½ãªå ´åã«ã¯ãã¬ã¹ãã³ã¹ããã£ãã·ã¥ã«ä¿åãã¾ãããããããã®ã¾ã¾åå©ç¨ãããã¨ã¯éãã¾ãããï¼é常ãããã£ãã·ã¥ãã¯ã¬ã¹ãã³ã¹ãä¿åãããã¨ãæå³ãã¾ããï¼
ãã£ãã·ã¥ãããã¬ã¹ãã³ã¹ã次ã®ãªã¯ã¨ã¹ãã«åå©ç¨ãã¾ãã
ãªãªã¸ã³ãµã¼ãã¼ã«ãä¿åããã¦ããã¬ã¹ãã³ã¹ãã¾ã æ°é®®ã§ãããã確èªãã¾ããéå¸¸ã¯æ¡ä»¶ä»ãã®ãªã¯ã¨ã¹ãã§è¡ãã¾ãã
ã¬ã¹ãã³ã¹ãæ°é®®ã§ãããã¨ã示ãã¾ããããã¯é常ããªã¯ã¨ã¹ãã®æç¤ºã«å¿ãã¦ãã¬ã¹ãã³ã¹ãå¾ç¶ã®ãªã¯ã¨ã¹ãã«åå©ç¨ã§ãããã¨ãæå³ãã¾ãã
ã¬ã¹ãã³ã¹ãå¤ãç¶æ ã«ãªã£ã¦ãããã¨ã示ãã¾ããããã¯é常ãã¬ã¹ãã³ã¹ããã®ã¾ã¾ã§ã¯åå©ç¨ã§ããªããã¨ãæå³ãã¾ãããã£ãã·ã¥ã¹ãã¬ã¼ã¸ã¯å¤ãã¬ã¹ãã³ã¹ãããã«åé¤ããå¿ è¦ã¯ããã¾ããããªããªããåæ¤è¨¼ã«ãã£ã¦ã¬ã¹ãã³ã¹ãå¤ããã®ããåã³æ°ããç¶æ ã«å¤ããå¯è½æ§ãããããã§ãã
ã¬ã¹ãã³ã¹ãçæããã¦ããã®çµéæéã§ããã¬ã¹ãã³ã¹ãæ°ãããå¤ããã®åºæºã¨ãªãã¾ãã
ãã®ã»ã¯ã·ã§ã³ã§ã¯ããã£ãã·ã¥ã«å½±é¿ãä¸ãããã£ã¬ã¯ãã£ãï¼ã¬ã¹ãã³ã¹ãã£ã¬ã¯ãã£ãã¨ãªã¯ã¨ã¹ããã£ã¬ã¯ãã£ãã®ä¸¡æ¹ï¼ãåæãã¾ãã
ã¬ã¹ãã³ã¹ãã£ã¬ã¯ãã£ãmax-age
ã¬ã¹ãã³ã¹ãã£ã¬ã¯ãã£ãã®max-age=N
ã¯ãã¬ã¹ãã³ã¹ãçæããã¦ãã N ç§å¾ã¾ã§ãã¬ã¹ãã³ã¹ãæ°é®®ãªã¾ã¾ã§ãããã¨ã示ãã¾ãã
Cache-Control: max-age=604800
ãã£ãã·ã¥ããã®ãªã¯ã¨ã¹ããä¿åããæ°é®®ãªãã¡ã«å¾ç¶ã®ãªã¯ã¨ã¹ãã«åå©ç¨ã§ãããã¨ã示ãã¾ãã
ãªããmax-age
ã¯ã¬ã¹ãã³ã¹ãåä¿¡ãã¦ããã®çµéæéã§ã¯ãªãããªãªã¸ã³ãµã¼ãã¼ã§ã¬ã¹ãã³ã¹ãçæããã¦ããã®çµéæéã§ãããã¨ã«æ³¨æãã¦ãã ããããããã£ã¦ãä»ã®ãã£ãã·ã¥ï¼ã¬ã¹ãã³ã¹ãéã£ããããã¯ã¼ã¯çµè·¯ä¸ï¼ã 100 ç§éä¿åããå ´åï¼ã¬ã¹ãã³ã¹ãããã¼ãã£ã¼ã«ãã® Age
ã§ç¤ºãããï¼ããã©ã¦ã¶ã¼ãã£ãã·ã¥ã¯ãã®é®®åº¦ã®æå¹æéãã 100 ç§ãå·®ãå¼ãã¾ãã
max-age
ã®å¤ãè² æ°ï¼-1
ãªã©ï¼ã§ããå ´åãã¾ãã¯æ´æ°ã§ã¯ãªãå ´åï¼3599.99
ãªã©ï¼ããã£ãã·ã¥ã®åä½ã¯ç¹å®ããã¾ããããã£ãã·ã¥ã¯ãå¤ã 0
ã§ãããã®ããã«å¦çãããã¨ãæ¨å¥¨ããã¾ãï¼ãã㯠HTTP 仿§æ¸ã®ãé®®åº¦ã®æå¹æéã®è¨ç®ãã®ç« ã«è¨è¼ããã¦ãã¾ãï¼ã
Cache-Control: max-age=604800
Age: 100
s-maxage
ã¬ã¹ãã³ã¹ãã£ã¬ã¯ãã£ãã® s-maxage
ããã¬ã¹ãã³ã¹ãæ°é®®ã§ããæéã示ãã¾ã(max-age
ã«ä¼¼ã¦ãã¾ã)ãããããããã¯å
±æãã£ãã·ã¥ç¹æã®ãã®ã§ãå
±æãã£ãã·ã¥ã¯ s-maxage
㨠max-age
ã®ä¸¡æ¹ãåå¨ããå ´å max-age
ãç¡è¦ãã¾ãã
Cache-Control: s-maxage=604800
no-cache
ã¬ã¹ãã³ã¹ãã£ã¬ã¯ãã£ãã® no-cache
ã¯ããã£ãã·ã¥ã«ä¿åã§ãããã¨ã示ãã¾ããããã£ãã·ã¥ããªãªã¸ã³ãµã¼ãã¼ããåæãããå ´åã§ããåå©ç¨ã®åã«ãªãªã¸ã³ãµã¼ãã¼ã§æ¤è¨¼ããªããã°ãªãã¾ããã
ãã£ãã·ã¥ã«ãä¿åããã¦ããã³ã³ãã³ããåå©ç¨ããéã«ãå¿
ãæ´æ°ããªããã©ããããã§ãã¯ããããå ´åã¯ã no-cache
ã使ç¨ããå¿
è¦ãããã¾ããããã¯ããã£ãã·ã¥ããªãªã¸ã³ãµã¼ãã¼ã«åãªã¯ã¨ã¹ããåæ¤è¨¼ãããã¨ãè¦æ±ãããã¨ã§å®ç¾ããã¾ãã
no-cache
ã¯ãã£ãã·ã¥ã«ã¬ã¹ãã³ã¹ãä¿åãããã¨ã許å¯ãã¾ãããåå©ç¨ããåã«åæ¤è¨¼ãããã¨ãè¦æ±ãã¾ãããããããã£ãã·ã¥ãããªããã®æå³ãå®éã«ã¯ãä¿åãããªããã§ãããªããno-store
ã使ç¨ãã¹ããã£ã¬ã¯ãã£ãã§ãã
must-revalidate
ã¬ã¹ãã³ã¹ãã£ã¬ã¯ãã£ãã® must-revalidate
ã¯ãã¬ã¹ãã³ã¹ããã£ãã·ã¥ã«ä¿åãããæ°é®®ãªãã¡ã¯åå©ç¨ã§ãããã¨ã示ãã¾ããå¤ããªã£ãã¬ã¹ãã³ã¹ã¯ãåå©ç¨ããåã«ãªãªã¸ã³ãµã¼ãã¼ã§æ¤è¨¼ãããªããã°ãªãã¾ããã
é常ãmust-revalidate
㯠max-age
ã¨å
±ã«ä½¿ç¨ããã¾ãã
Cache-Control: max-age=604800, must-revalidate
HTTP ã§ã¯ããã£ãã·ã¥ããªãªã¸ã³ãµã¼ãã¼ããåãé¢ãããã¨ãã«ãå¤ãã¬ã¹ãã³ã¹ãåå©ç¨ã§ãã¾ãã must-revalidate
ã¯ãããé²ãããã®æ¹æ³ã§ããã£ãã·ã¥ã¯ä¿åãããã¬ã¹ãã³ã¹ãå
ã®ãµã¼ãã¼ã§åæ¤è¨¼ãããããããæ¤è¨¼ä¸å¯è½ãªå ´å㯠504 (Gateway Timeout) ã®ã¬ã¹ãã³ã¹ãçæãã¾ãã
proxy-revalidate
ã¬ã¹ãã³ã¹ãã£ã¬ã¯ãã£ãã® proxy-revalidate
㯠must-revalidate
ã¨åçã§ãããå
±æãã£ãã·ã¥ã«ã®ã¿é©ç¨ããã¾ãã
no-store
ã¬ã¹ãã³ã¹ãã£ã¬ã¯ãã£ãã® no-store
ã¯ããããã種é¡ã®ãã£ãã·ã¥ãï¼ãã©ã¤ãã¼ãã§ãããã¨å
±æã§ãããã¨ï¼ãã®ã¬ã¹ãã³ã¹ãä¿åããªãããã«ãããã¨ãæç¤ºãã¾ãã
private
ã¬ã¹ãã³ã¹ãã£ã¬ã¯ãã£ãã® private
ã¯ãã¬ã¹ãã³ã¹ããã©ã¤ãã¼ããã£ãã·ã¥ï¼ãã©ã¦ã¶ã¼ã®ãã¼ã«ã«ãã£ãã·ã¥ãªã©ï¼ã«ã®ã¿ä¿åã§ãããã¨ã示ãã¾ãã
ã¦ã¼ã¶ã¼å人ãç¹å®ããã³ã³ãã³ããç¹ã«ãã°ã¤ã³å¾ã«åãåãã¬ã¹ãã³ã¹ããCookie ã§ç®¡çãããã»ãã·ã§ã³ã«ã¤ãã¦ã¯ãprivate
ãã£ã¬ã¯ãã£ãã追å ããå¿
è¦ãããã¾ãã
ãã¼ã½ãã©ã¤ãºãããã³ã³ãã³ããæã¤ã¬ã¹ãã³ã¹ã« private
ãä»ãå¿ããã¨ããã®ã¬ã¹ãã³ã¹ãå
±æãã£ãã·ã¥ã«ä¿åãããè¤æ°ã®ã¦ã¼ã¶ã¼ã«ãã£ã¦åå©ç¨ããã¦ãã¾ããå人æ
å ±ã®æ¼ããã«ç¹ããå¯è½æ§ãããã¾ãã
public
ãããã¼ãã£ã¼ã«ãã« Authorization
ãæã¤ãªã¯ã¨ã¹ãã«å¯¾ããã¬ã¹ãã³ã¹ã¯ãå
±æãã£ãã·ã¥ã«ä¿åãã¦ã¯ããã¾ãããããããpublic
ãã£ã¬ã¯ãã£ãã¯ãã®ãããªã¬ã¹ãã³ã¹ãå
±æãã£ãã·ã¥ã«ä¿åãã¾ãã
ä¸è¬ã«ããã¼ã¸ã Basic èªè¨¼ã¾ã㯠Digest èªè¨¼ã§å¶å¾¡ããã¦ããå ´åããã©ã¦ã¶ã¼ã¯ Authorization
ãããã¼ãä»ãã¦ãªã¯ã¨ã¹ããéä¿¡ãã¾ããã¤ã¾ããã¬ã¹ãã³ã¹ã¯å¶éãããã¦ã¼ã¶ã¼ï¼ã¢ã«ã¦ã³ããæã¤ã¦ã¼ã¶ã¼ï¼ã®ã¿ã«ã¢ã¯ã»ã¹å¶å¾¡ããããã¨ã max-age
ãã¤ãã¦ãã¦ãåºæ¬çã«å
±æãã£ãã·ã¥ã«ä¿åå¯è½ã§ã¯ããã¾ããã
ãã®å¶éãè§£é¤ããããã« public
ãã£ã¬ã¯ãã£ãã使ç¨ã§ãã¾ãã
Cache-Control: public, max-age=604800
ãªããs-maxage
ã must-revalidate
ããã®å¶éãè§£é¤ãã¾ãã
ãªã¯ã¨ã¹ãã« Authorization
ãããã¼ããªãå ´åããããã¯ã¬ã¹ãã³ã¹ã« s-maxage
ã¾ã㯠must-revalidate
ããã§ã«ä½¿ç¨ãã¦ããå ´åã¯ãpublic
ã使ç¨ããå¿
è¦ã¯ããã¾ããã
must-understand
ã¬ã¹ãã³ã¹ãã£ã¬ã¯ãã£ãã® must-understand
ã¯ãã¹ãã¼ã¿ã¹ã³ã¼ãã«åºã¥ãã¦ãã£ãã·ã¥ã®è¦ä»¶ãçè§£ãã¦ããå ´åã«ã®ã¿ããã£ãã·ã¥ãã¬ã¹ãã³ã¹ãä¿åãã¹ãã§ããã¨ç¤ºãã¾ãã
must-understand
ã¯ããã©ã¼ã«ããã¯åä½ã®ããã« no-store
ã¨çµã¿åãããå¿
è¦ãããã¾ãã
Cache-Control: must-understand, no-store
ãã£ãã·ã¥ã must-understand
ã«å¯¾å¿ãã¦ããªãå ´åã¯ãç¡è¦ããã¾ããno-store
ãåå¨ããå ´åã¯ãã¬ã¹ãã³ã¹ã¯ä¿åããã¾ããã
ãã£ãã·ã¥ã must-understand
ã«å¯¾å¿ãã¦ããå ´åãã¹ãã¼ã¿ã¹ã³ã¼ãã«åºã¥ãã¦ãã£ãã·ã¥ã®è¦ä»¶ãçè§£ãã¦ã¬ã¹ãã³ã¹ãä¿åãã¾ãã
no-transform
仲ä»è (intermedialies) ã®ä¸ã«ã¯ããã¾ãã¾ãªçç±ã§ã³ã³ãã³ãã夿ãããã®ãããã¾ãããã¨ãã°ã転éãµã¤ãºãå°ããããããã«ç»åã夿ãããã®ãªã©ã§ããå ´åã«ãã£ã¦ã¯ãããã¯ã³ã³ãã³ããããã¤ãã¼ã«ã¨ã£ã¦æã¾ããããã¾ããã
no-transform
ã¯ã仲ä»è
ãï¼ãã£ãã·ã¥ãå®è£
ãã¦ãããã©ããã«é¢ä¿ãªãï¼ã¬ã¹ãã³ã¹ã®å
容ã夿ãã¹ãã§ã¯ãªããã¨ã示ãã¾ãã
immutable
ã¬ã¹ãã³ã¹ãã£ã¬ã¯ãã£ãã® immutable
ã¯ãã¬ã¹ãã³ã¹ãæ°é®®ãªéã¯æ´æ°ãããªããã¨ã示ãã¾ãã
Cache-Control: public, max-age=604800, immutable
éçãªãªã½ã¼ã¹ã«å¯¾ããæè¿ã®ãã¹ããã©ã¯ãã£ã¹ã¯ããã¼ã¸ã§ã³/ããã·ã¥ã URL ã«å«ãã䏿¹ã§ããªã½ã¼ã¹ã«ã¯æ±ºãã¦æãå ããå¿ è¦ãªã¨ãã«ãæ°ãããã¼ã¸ã§ã³çªå·/ããã·ã¥ãæã¤æ°ãããã¼ã¸ã§ã³ã§ãªã½ã¼ã¹ãæ´æ°ããURL ãç°ãªããã®ã«ãããã¨ã§ããããã cache-busting ãã¿ã¼ã³ã¨å¼ã³ã¾ãã
<script src="https://example.com/react.0.0.0.js"></script>
ã¦ã¼ã¶ã¼ããã©ã¦ã¶ã¼ããªãã¼ãããã¨ããã©ã¦ã¶ã¼ã¯ãªãªã¸ã³ãµã¼ãã¼ã«æ¤è¨¼ã®ããã®æ¡ä»¶ä»ããªã¯ã¨ã¹ããéä¿¡ãã¾ãããããããããã®éçãªã½ã¼ã¹ã¯ãã¦ã¼ã¶ã¼ããã©ã¦ã¶ã¼ããªãã¼ããã¦ã決ãã¦å¤æ´ãããªããããåæ¤è¨¼ããå¿
è¦ãããã¾ããã immutable
ã¯ãã£ãã·ã¥ã«ã¬ã¹ãã³ã¹ãæ°é®®ãªéã¯ä¸å¤ã§ãããã¨ãä¼ãããµã¼ãã¼ã¸ã®ä¸è¦ãªæ¡ä»¶ä»ããªã¯ã¨ã¹ããåé¿ãã¾ãã
ãªã½ã¼ã¹ã« cache-busting ãã¿ã¼ã³ã使ç¨ããé·ã max-age
ãé©ç¨ããã¨ãåæ¤è¨¼ãé¿ããããã« immutable
ã追å ãããã¨ãã§ãã¾ãã
stale-while-revalidate
ã¬ã¹ãã³ã¹ãã£ã¬ã¯ãã£ãã® stale-while-revalidate
ã¯ããã£ãã·ã¥ãåæ¤è¨¼ãã¦ããéãå¤ãã¬ã¹ãã³ã¹ã®åå©ç¨ãå¯è½ãªãã¨ã示ãã¾ãã
Cache-Control: max-age=604800, stale-while-revalidate=86400
ä¸è¨ã®ä¾ã§ã¯ãã¬ã¹ãã³ã¹ãã¯æ°é®®ãªã®ã¯ 7 æ¥éï¼604800 ç§éï¼ã§ãã7 æ¥å¾ãã¬ã¹ãã³ã¹ã¯å¤ããªãã¾ããããã£ãã·ã¥ã¯ç¿æ¥ï¼86400 ç§å¾ï¼ã®ãªã¯ã¨ã¹ãã«åå©ç¨ã§ãã¾ãããã ããããã¯ã°ã©ã¦ã³ãã§ã¬ã¹ãã³ã¹ãåæ¤è¨¼ãããã¨ãæ¡ä»¶ã§ãã
åæ¤è¨¼ã«ããããã£ãã·ã¥ã¯åã³æ°é®®ã«ãªããããã¯ã©ã¤ã¢ã³ãã¯ãã®æéä¸ã¯å¸¸ã«æ°é®®ã§ãã£ããã®ããã«è¦ãã¾ããããã«ããåæ¤è¨¼ã®é å»¶ããã«ãã£ã广çã«ã¯ã©ã¤ã¢ã³ãããé è½ã§ãã¾ãã
ãã®éã«ãªã¯ã¨ã¹ãããªããã°ããã£ãã·ã¥ã¯å¤ããªããæ¬¡ã®ãªã¯ã¨ã¹ãã¯æ£å¸¸ã«åæ¤è¨¼ããã¾ãã
stale-if-error
ã¬ã¹ãã³ã¹ãã£ã¬ã¯ãã£ãã® stale-if-error
ã¯ããªãªã¸ã³ãµã¼ãã¼ãã¨ã©ã¼ï¼500ã502ã503ã504ï¼ã§ã¬ã¹ãã³ã¹ãè¿ããã¨ãã«ããã£ãã·ã¥ãå¤ãã¬ã¹ãã³ã¹ãåå©ç¨ã§ãããã¨ãæç¤ºãã¾ãã
Cache-Control: max-age=604800, stale-if-error=86400
ä¸è¨ã®ä¾ã§ã¯ãã¬ã¹ãã³ã¹ãæ°é®®ãªã®ã¯ 7 æ¥éï¼604800 ç§éï¼ã§ãã7 æ¥ãéããã¨å¤ããªãã¾ããããµã¼ãã¼ãã¨ã©ã¼ãè¿ããå ´åã¯ããã« 1 æ¥ï¼86400 ç§éï¼å©ç¨ã§ãã¾ãã
stale-if-error
ã®æéãçµéããå¾ãã¯ã©ã¤ã¢ã³ãã¯çæãããã¨ã©ã¼ãåãåãã¾ãã
no-cache
ãªã¯ã¨ã¹ããã£ã¬ã¯ãã£ãã® no-cache
ã¯ãã£ãã·ã¥ã«ãåå©ç¨ããåã«ãªãªã¸ã³ãµã¼ãã¼ã§ã¬ã¹ãã³ã¹ãæ¤è¨¼ããããã«è¦æ±ãã¾ãã
no-cache
ã¯ããã£ãã·ã¥ã«æ°é®®ãªã¬ã¹ãã³ã¹ãããå ´åã§ããã¯ã©ã¤ã¢ã³ããææ°ã®ã¬ã¹ãã³ã¹ãè¦æ±ãããã¨ãã§ããããã«ãã¾ãã
ãã©ã¦ã¶ã¼ã¯é常ãã¦ã¼ã¶ã¼ããã¼ã¸ãå¼·å¶åèªã¿è¾¼ã¿ããã¨ãã«ããªã¯ã¨ã¹ãã« no-cache
ã追å ãã¾ãã
no-store
ãªã¯ã¨ã¹ããã£ã¬ã¯ãã£ãã® no-store
ã¯ããªãªã¸ã³ãµã¼ãã¼ã®ã¬ã¹ãã³ã¹ãä¿åãããå¯è½æ§ãããå ´åã§ããã¯ã©ã¤ã¢ã³ãããªã¯ã¨ã¹ãã¨å¯¾å¿ããã¬ã¹ãã³ã¹ãä¿åããªãããã«ãã£ãã·ã¥ã«è¦æ±ãããã¨ãã§ãã¾ãã
max-age
max-age=N
ãªã¯ã¨ã¹ããã£ã¬ã¯ãã£ãã¯ãå
ã®ãµã¼ãã¼ã§çæãããã¬ã¹ãã³ã¹ã N ç§ä»¥å
ã«ã¯ã©ã¤ã¢ã³ãã«æ ¼ç´ããããã¨ã示ãã¾ããããã§ãN 㯠0
ãå«ãéè² ã®æ´æ°ã§ããã°ä½ã§ãå
¥ãããã¨ãã§ãã¾ãã
Cache-Control: max-age=10800
ä¸è¨ã®å ´åãCache-Control: max-age=10800
ã®ã¬ã¹ãã³ã¹ã 3 æéåã«ãã£ãã·ã¥ã«ä¿åããã¦ããã¨ï¼max-age
㨠Age
ãããã¼ããè¨ç®ãã¦ï¼ããã£ãã·ã¥ã¯ãã®ã¬ã¹ãã³ã¹ãåå©ç¨ã§ãã¾ããã
以ä¸ã§èª¬æããããã«ãå¤ãã®ãã©ã¦ã¶ã¼ã¯åèªã¿è¾¼ã¿æã«ããã®ãã£ã¬ã¯ãã£ãã使ç¨ãã¾ãã
max-age=0
㯠no-cache
ã®åé¿çã§ããå¤ãã®å¤ã (HTTP/1.0 ã®) ãã£ãã·ã¥ã®å®è£
㯠no-cache
ã«å¯¾å¿ãã¦ããªãããã§ããæè¿ã®ãã©ã¦ã¶ã¼ã¯ã徿¹äºææ§ã®ããã« max-age=0
ããåèªã¿è¾¼ã¿ãã®éã«ä½¿ç¨ããno-cache
ã使ç¨ãã¦ãå¼·å¶åèªã¿è¾¼ã¿ããè¡ãããã«ãªã£ã¦ãã¾ãã
max-age
ã®å¤ãè² æ°ï¼-1
ãªã©ï¼ã§ããå ´åãã¾ãã¯æ´æ°ã§ã¯ãªãå ´åï¼3599.99
ãªã©ï¼ããã£ãã·ã¥ã®åä½ã¯ç¹å®ããã¾ããããã£ãã·ã¥ã¯ãå¤ã 0
ã§ãããã®ããã«å¦çãããã¨ãæ¨å¥¨ããã¾ã
max-stale
max-stale=N
ãªã¯ã¨ã¹ããã£ã¬ã¯ãã£ãã¯ãã¯ã©ã¤ã¢ã³ãã N ç§ä»¥å
ã«æéåãã¨ãªãã¬ã¹ãã³ã¹ãæ ¼ç´ãããã¨ã示ããã®ã§ãã N ã®å¤ãæå®ããã¦ããªãå ´åãã¯ã©ã¤ã¢ã³ãã¯æéåãã®ã¬ã¹ãã³ã¹ãã©ã®ã¿ã¤ãã³ã°ã§ãåãå
¥ãããã¨ã«ãªãã¾ãã
Cache-Control: max-stale=3600
ä¾ãã°ãä¸è¨ã®ãããã¼ãæã¤ãªã¯ã¨ã¹ãã¯ããã©ã¦ã¶ã¼ããã£ãã·ã¥ãã 1 æé以å ã«æéåãã¨ãªã£ãå¤ãã¬ã¹ãã³ã¹ãåãå ¥ãããã¨ã示ãã¦ãã¾ãã
ã¯ã©ã¤ã¢ã³ãã¯ããªãªã¸ã³ãµã¼ãã¼ããã¦ã³ãã¦ããã¨ããé ãããã¨ãã«ãã®ãããã¼ã使ããã¨ãã§ããå¤å°å¤ãã¦ããã£ãã·ã¥ãããã¬ã¹ãã³ã¹ããã£ãã·ã¥ããåãå ¥ãããã¨ãã§ãã¾ãã
主è¦ãªãã©ã¦ã¶ã¼ã¯ max-stale
ãæå®ãããªã¯ã¨ã¹ãã«å¯¾å¿ãã¦ããªããã¨ã«æ³¨æãã¦ãã ããã
min-fresh
ãªã¯ã¨ã¹ããã£ã¬ã¯ãã£ãã® min-fresh
ã¯ãã¯ã©ã¤ã¢ã³ããå°ãªãã¨ã N ç§éæ°é®®ãªä¿åãããã¬ã¹ãã³ã¹ã許å¯ãããã¨ã示ãã¾ãã
Cache-Control: min-fresh=600
ä¸è¨ã®å ´åã51 ååã« Cache-Control: max-age=3600
ãæã¤ã¬ã¹ãã³ã¹ããã£ãã·ã¥ã«ä¿åããã¦ããå ´åããã£ãã·ã¥ã¯ãã®ã¬ã¹ãã³ã¹ãåå©ç¨ã§ãã¾ããã
ã¯ã©ã¤ã¢ã³ãããã®ãããã¼ã使ç¨ã§ããã®ã¯ãã¦ã¼ã¶ã¼ã®ã¬ã¹ãã³ã¹ãæ°é®®ã§ãããã¨ã ãã§ãªããä¸å®æéæ´æ°ãããªããã¨ãè¦æ±ããå ´åã§ãã
主è¦ãªãã©ã¦ã¶ã¼ã¯ min-fresh
ã使ã£ããªã¯ã¨ã¹ãã«å¯¾å¿ãã¦ããªããã¨ã«æ³¨æãã¦ãã ããã
no-transform
ã¬ã¹ãã³ã¹ã® no-transform
ã¨åãæå³ã§ããããªã¯ã¨ã¹ãã«å¯¾ãããã®ã§ãã
only-if-cached
ã¯ã©ã¤ã¢ã³ãã¯ããã£ãã·ã¥ããã§ã«ä¿åæ¸ã¿ã®ã¬ã¹ãã³ã¹ã転éããå¿ è¦ããããã¨ã示ãã¾ãããã£ãã·ã¥ã«ã¬ã¹ãã³ã¹ãä¿åããã¦ããå ´åããããåå©ç¨ããã¾ãããã£ãã·ã¥ãããã¬ã¹ãã³ã¹ãå©ç¨ã§ããªãå ´åã¯ã 504 Gateway Timeout ã¬ã¹ãã³ã¹ãè¿ããã¾ãã
ç¨é ä¿åã鲿¢ã¬ã¹ãã³ã¹ããã£ãã·ã¥ã«ä¿åããããªãå ´åã¯ã no-store
ãã£ã¬ã¯ãã£ãã使ç¨ãã¾ãã
no-cache
ã¯ãä¿åãããã¨ã¯ã§ããããæ¤è¨¼ããåã«åå©ç¨ããªããã¨ããæå³ãªã®ã§ãã¬ã¹ãã³ã¹ãä¿åãããªãããã«ããããã®ãã®ã§ã¯ãªããã¨ã«æ³¨æãã¦ãã ããã
çè«çã«ã¯ããã£ã¬ã¯ãã£ããè¡çªããå ´åãæãå¶éã®å³ãããã£ã¬ã¯ãã£ããå°éããã¾ããã¤ã¾ãã以ä¸ã®ä¾ã¯åºæ¬çã«ç¡æå³ã§ããprivate
, no-cache
, max-age=0
, must-revalidate
㯠no-store
ã¨ç«¶åãã¦ããããã§ãã
# ç«¶å
Cache-Control: private, no-cache, no-store, max-age=0, must-revalidate
# 以ä¸ã®ãã®ã¨çãã
Cache-Control: no-store
ããã£ãã·ã¥ãã¼ã¹ããã«ããéçè³ç£ã®ãã£ãã·ã¥
éçè³ç£ããã¼ã¸ã§ã³ç®¡çãããã·ã¥åã®ã¡ã«ããºã ã§æ§ç¯ããå ´åããã¡ã¤ã«åãã¯ã¨ãªã¼æååã«ãã¼ã¸ã§ã³ãããã·ã¥ã追å ããã¨ããã£ãã·ã¥ã管çããã®ã«ä¾¿å©ã§ãã
ä¾ï¼
<!-- index.html -->
<script src="/assets/react.min.js"></script>
<img src="/assets/hero.png" width="900" height="400" />
React ã©ã¤ãã©ãªã¼ã®ãã¼ã¸ã§ã³ã¯ãã©ã¤ãã©ãªã¼ãæ´æ°ããã¨å¤ããã¾ãããhero.png
ãç»åãç·¨éããã¨å¤ããã¾ãããã®ãããããã㯠max-age
ã使ã£ã¦ãã£ãã·ã¥ã«ä¿åããã®ã¯é£ãããªãã¾ãã
ãã®ãããªå ´åãç¹å®ã®çªå·ã®ã¤ãããã¼ã¸ã§ã³ã®ã©ã¤ãã©ãªã¼ã使ç¨ããç»åã® URL ã«ããã·ã¥ãå«ãããã¨ã§ãã£ãã·ã¥ã®è¦æ±ãæºãããã¨ãã§ãã¾ãã
<!-- index.html -->
<script src="/assets/react.0.0.0min.js"></script>
<img src="/assets/hero.png?hash=deadbeef" width="900" height="400" />
ã³ã³ãã³ãã¯æ±ºãã¦å¤æ´ãããªãã®ã§ã max-age
ãé·ãå¤ã immutable
ã«ãããã¨ãã§ãã¾ãã
# /assets/*
Cache-Control: max-age=31536000, immutable
ã©ã¤ãã©ãªã¼ãæ´æ°ããããç»åãç·¨éãããããã¨ãæ°ããã³ã³ãã³ãã¯æ°ãã URL ã«ãªãã®ã§ããã£ãã·ã¥ã¯åå©ç¨ããã¾ããããããããã£ãã·ã¥ãã¼ã¹ãããã¿ã¼ã³ã¨å¼ã³ã¾ãã
no-cache
ã使ç¨ããã¨ã HTML ã¬ã¹ãã³ã¹èªä½ããã£ãã·ã¥ãããªãããã«ã§ãã¾ãã no-cache
ã§ã¯åæ¤è¨¼ãããã¨ãã§ããã®ã§ãã¯ã©ã¤ã¢ã³ãã HTML ã¬ã¹ãã³ã¹ãéçè³ç£ã®æ°ãããã¼ã¸ã§ã³ãæ£ããåä¿¡ãã¾ãã
# /index.html
Cache-Control: no-cache
注æ: index.html
ã Basic èªè¨¼ã¾ã㯠Digest èªè¨¼ã§å¶å¾¡ããã¦ããå ´åã/assets
以ä¸ã®ãã¡ã¤ã«ã¯å
±æãã£ãã·ã¥ã«ä¿åããã¾ããããã /assets/
ã®ãã¡ã¤ã«ãå
±æãã£ãã·ã¥ã«ä¿åããã®ã«é©ãã¦ãããªãã public
ãs-maxage
ã¾ã㯠must-revalidate
ã®ãã¡ã® 1 ã¤ãå¿
è¦ã§ãã
åçã«çæãããã³ã³ãã³ãããéçã§ãã£ã¦ãé »ç¹ã«æ´æ°ãããã³ã³ãã³ãã§ã¯ãã¦ã¼ã¶ã¼ãå¸¸ã«ææ°çãåä¿¡ã§ããããã«ããããã®ã§ãã
ãããã¬ã¹ãã³ã¹ããã£ãã·ã¥ããããã¨ãæå³ãã¦ããªãããã¨ãã£ã¦ Cache-Control
ãããã¼ã追å ããªããã°ãäºæãã¬çµæãå¼ãèµ·ããå¯è½æ§ãããã¾ãããã£ãã·ã¥ã¹ãã¬ã¼ã¸ã¯ãæ¨æ¸¬ã§ãã£ãã·ã¥ãããã¨ã許ããã¦ãã¾ãããããã£ã¦ããã£ãã·ã¥ã«é¢ããä½ããã®è¦æ±ãããå ´åã¯ã常㫠Cache-Control
ãããã¼ã§æç¤ºçã«ç¤ºãå¿
è¦ãããã¾ãã
ã¬ã¹ãã³ã¹ã« no-cache
ã追å ããã¨ããµã¼ãã¼ã§åæ¤è¨¼ãè¡ãããã®ã§ãæ¯åæ°é®®ãªã¬ã¹ãã³ã¹ãæä¾ã§ãã¾ããã¾ããã¯ã©ã¤ã¢ã³ãããã§ã«æ°ããã¬ã¹ãã³ã¹ãæã£ã¦ããå ´åã¯ã304 Not Modified
ã¨ã ãã¬ã¹ãã³ã¹ãè¿ãã¾ãã
ã»ã¨ãã©ã® HTTP/1.0 ãã£ãã·ã¥ã¯ no-cache
ãã£ã¬ã¯ãã£ãã«å¯¾å¿ãã¦ããªãã®ã§ãæ´å²çã«ã¯ max-age=0
ãåé¿çã¨ãã¦ä½¿ç¨ããã¦ãã¾ãããããããmax-age=0
ã ãã§ã¯ããã£ãã·ã¥ããªãªã¸ã³ãµã¼ãã¼ããåæãããã¨ãã«ãå¤ãã¬ã¹ãã³ã¹ãåå©ç¨ãããå¯è½æ§ãããã¾ãããmust-revalidate
ã¯ããã«å¯¾å¿ãããã®ã§ãããã®ããã以ä¸ã®ä¾ã§ã¯ no-cache
ã¨åçã«ãªã£ã¦ãã¾ãã
Cache-Control: max-age=0, must-revalidate
ããããä»ã®ã¨ãããåã« no-cache
ã代ããã«ä½¿ç¨ã§ãã¾ãã
æ®å¿µãªããããã§ã«ä¿åããã¦ããã¬ã¹ãã³ã¹ããã£ãã·ã¥ããã¯ãªã¢ããããã®ãã£ãã·ã¥ãã£ã¬ã¯ãã£ãã¯ããã¾ããã
ã¯ã©ã¤ã¢ã³ãããã£ãã·ã¥ãããããã¹ã«å¯¾ããæ°é®®ãªã¬ã¹ãã³ã¹ãä¿åãã¦ããããµã¼ãã¼ã¸ãªã¯ã¨ã¹ããéä¿¡ããªãç¶æ ãæ³åãã¦ãã ããããã®ãã¹ã«å¯¾ãã¦ãµã¼ãã¼ãã§ãããã¨ã¯ä½ãããã¾ããã
代æ¿ã¨ã㦠Clear-Site-Data
ã¯ãã©ã¦ã¶ã¼ã®ãã£ãã·ã¥ãã¯ãªã¢ã§ãã¾ããããããããã¯ãããµã¤ãã®ä¿åããããã¹ã¦ã®ã¬ã¹ãã³ã¹ãã¯ãªã¢ããã®ã§æ³¨æãã¦ãã ãããããã¦ãã¯ãªã¢ãããã®ã¯ãã©ã¦ã¶ã¼å
ã®ãã£ãã·ã¥ã®ã¿ã§ãå
±æãã£ãã·ã¥ã¯ã¯ãªã¢ããã¾ããã
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4