ã¯ã©ãŠãã¹ãã¬ãŒãžã«åºã¥ããéçãµã€ãã«é¢ããåºçç©ã®ãµã€ã¯ã«ãç¶ç¶ããŸãïŒä»¥åã®åºçç©ã¯ãã¡ããšãã¡ããã芧ãã ãã ïŒã ä»æ¥ã¯ã埮調æŽãšæé©åã®åé¡ã«ã€ããŠè©³ãã説æããŸãã
ãŠãŒã¶ãŒã®èŠ³ç¹ããèŠããµã€ãã®åªããäœæ¥ã®äž»ãªåºæºã¯ããã¡ãããã³ã³ããŒãã³ãã®ããŒãé床ã§ãã äœããã®çç±ã§ãµã€ãã®ããŒãã«æéããããããããšãå¿ ç¶çã«åŸ æ©ã«é£œããŠãã蚪åè ã倱ãããŸãã ãµã€ããé«éã§äŸ¿å©ã«ããã«ã¯ãæé©åããããã«ããã€ãã®äœæ¥ãè¡ãå¿ èŠããããŸãã
以äžã«ããªããžããªã«ããéçãµã€ãã®é床ãäžããããšãã§ããããã€ãã®æšå¥šäºé ã瀺ããŸãã
ãã³ã1. CDNã®åã䜿çšãã
ã¢ã«ãã€ããã¯ã©ãŠãããŒã¹ã®CDNã¹ãã¬ãŒãžã«æ¥ç¶ããããšã«ã€ããŠã¯ãã§ã«æžããŠããŸãã CDNã¯ãäžçäžã«æ£åšãããã£ãã·ã¥ãµãŒããŒã«ãã¹ãŠã®éçã³ã³ãã³ãïŒç»åãããã¹ããã¡ã€ã«ãJSãCSSãªã©ïŒãä¿åããŸãïŒãã¡ãã®ããããåç § ïŒã
WebããŒãžãŸãã¯ãã®ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ããå ŽåãèŠæ±ã¯å°ççã«ã¯ã©ã€ã¢ã³ãã«æãè¿ããã£ãã·ã³ã°ãµãŒããŒã«ãã£ãŠåŠçãããŸãã CDNã䜿çšãããšãåºå®ããã€ã¹ãšã¢ãã€ã«ããã€ã¹ã®äž¡æ¹ã§ãµã€ãã®èªã¿èŸŒã¿é床ãåäžããŸãã
ããã©ã«ãã§ã¯ããã¹ãŠã®ããŒã¿ã¯24æéCDNã«ãã£ãã·ã¥ãããŸãã æè¿ãæ°ããæ©èœããªããžããªã«è¿œå ãããŸãããããã«ããããã€ã§ãCDNãã£ãã·ã¥ãã¯ãªã¢ã§ããŸãã
ãããè¡ãã«ã¯ãå³ã«ç€ºãããŠããã¿ãã«ç§»åãããã£ãã·ã¥ã«ã¯ãªã¢ããããŒãžã®ã¢ãã¬ã¹ããã©ãŒã ã«å ¥åããŸãã ãã£ãã·ã¥ã¯ããã«ã¯æ¶å»ãããŸãããããã©ãŒã ãéä¿¡ãããŠããçŽ15ååŸã«æ¶å»ãããŸãã
ãã³ã2.ãã£ãã·ã¥èšå®ã«ã€ããŠå¿ããªãã§ãã ããã
WebããŒãžã«ã¯ãç»åãã¹ã¯ãªãããã¹ã¿ã€ã«ãã¡ã€ã«ãªã©ãããŸããŸãªèŠçŽ ãå«ãŸããŠããŸãã ãŠãŒã¶ãŒãããŒãžã«åããŠã¢ã¯ã»ã¹ãããšãäžé£ã®HTTPãªã¯ãšã¹ããå®äºããããšã§ãããã®èŠçŽ ããã¹ãŠåãåããŸãã å€æ°ã®ãã¡ã€ã«ã®ãªããŒããåé¿ããããã«ããã£ãã·ã¥ã䜿çšãããŸãã
HTTPãããã³ã«ã§äœ¿çšããããã£ãã·ã¥ã¢ãã«ã¯ãããããããªããŒã¿ãŒã«åºã¥ããŠããŸããããã¯ãã¯ã©ã€ã¢ã³ãããã£ãã·ã¥ãããããã¥ã¡ã³ãã®é¢é£æ§ã確ä¿ããããã«äœ¿çšããç¹å¥ãªããããŒã§ãã ããªããŒã¿ã®ãããã§ãã¯ã©ã€ã¢ã³ãã¯ãã£ãã·ã¥ãããã³ããŒå šäœããµãŒããŒã«è»¢éããã«ããã¥ã¡ã³ãã®ã¹ããŒã¿ã¹ã確èªã§ããŸãã 次ã«ããµãŒããŒã¯ãåä¿¡ããããªããŒã¿ãŒãã¯ã©ã€ã¢ã³ãã®ãã£ãã·ã¥ã«å€ãã³ããŒãååšããããšã瀺ããŠããå Žåã«ã®ã¿ãå¿çã§ããã¥ã¡ã³ããéä¿¡ããŸãã
ããªããŒã¿ã¯ã匷ããã®ãšåŒ±ããã®ã«åããããŸãã 匷åãªããªããŒã¿ã¯HTTP / 1.1ã«ç»å ŽããŸããã ãã¡ã€ã«ãå€æŽããããã³ã«å€æŽããããããããåŒã°ããŸãã ãããã«ã¯ãããããETagïŒãšã³ãã£ãã£ã¿ã°ïŒãå«ãŸããŸãã ETagã¯ãããã¥ã¡ã³ãã®ã³ã³ãã³ãã®èå¥åã§ãã ææžã®å°ãªããšã1ããããå€æŽããããšå€æŽãããŸãã èå¥åãšããŠãããšãã°ãããã¥ã¡ã³ãã®ã³ã³ãã³ãã®MD5åèšã䜿çšã§ããŸãã ã¯ã©ã€ã¢ã³ãããµãŒããŒããããã¥ã¡ã³ããèŠæ±ãããšãETagå€ãå¿çã§éä¿¡ãããŸãã次ã«äŸã瀺ããŸãã
HTTP / 1.1 200 OK ãµãŒããŒïŒSelectel_Storage / 1.0 Accept-RangesïŒãã€ã æçµæŽæ°æ¥ïŒ2014幎8æ18æ¥æææ¥12:25:38 GMT Xã¿ã€ã ã¹ã¿ã³ãïŒ1408364738.80296 ã³ã³ãã³ãã¿ã€ãïŒimage / jpeg ã³ã³ãã³ãã®é·ãïŒ458073 Access-Control-Allow-OriginïŒ* Access-Control-Expose-HeadersïŒLast-ModifiedãETagãX-Timestamp ETagïŒ "ebef3343a7b152ea7302eef75bea46c3" æ¥ä»ïŒ2014幎8æ20æ¥æ°Žææ¥11:52:48 GMT
åãããã¥ã¡ã³ãã®ãªã¯ãšã¹ããç¹°ãè¿ããããšãä¿åãããæ€èšŒå€ã¯If-None-MatchããããŒã§æ¢ã«è»¢éãããŸãã
GET / HTTP / 1.1 ãã¹ãïŒexample.org If-None-MatchïŒ "ebef3343a7b152ea7302eef75bea46c3"
ææžãå€æŽãããŠããªãå Žåãå¿çã§ãµãŒããŒã¯ããããŒãš304 Not Modifiedã³ãŒãã®ã¿ãè¿ããŸãã ãã以å€ã®å ŽåããµãŒããŒã¯ã³ãŒã200ãè¿ããããã¥ã¡ã³ãã®æ°ããããŒãžã§ã³ãšãã®æ°ããETagå€ã転éããŸãã
ãªããžããªã§ã¯ããã¡ã€ã«ãããŠã³ããŒããããšããã«ETagãçæãããŸãã ã³ã³ãã³ãã®MD5ããã·ã¥ã§ãã ã³ã³ãã³ããå€æŽããããšãETagãå€æŽãããŸãã
ããªããŒã¿ãŒã¯ãŠã£ãŒã¯ãšåŒã°ãããã¡ã€ã«ãå€æŽãããã³ã«å€æŽããããšã¯éããŸããã
匱ãããªããŒã¿ã®äŸã¯ãLast-ModifiedããããŒã§ãã ãã®ããããŒã®å€ã¯ããã¡ã€ã«ãæåŸã«å€æŽãããæ¥ä»ã§ãã ã¹ãã¬ãŒãžã§ã¯ãèªåçã«ã€ã³ã¹ããŒã«ãããŸãã Last-ModifiedããããŒã«çŸåšããæ¥ä»ãèŠæ±ãããšãã«ãIf-Modified-SinceããããŒã«ãã以åã®æ¥ä»ãæå®ãããšã304 Not Modifiedãåçã«ãªããŸãã
匷åãªããªããŒã¿ã¯ãããããã³ã³ããã¹ãã§äœ¿çšã§ããŸãã 匱ãããªããŒã¿ã¯ããã¡ã€ã«ã®æ£ç¢ºãªå 容ãšã¯ç¡é¢ä¿ã®ã³ã³ããã¹ãã§äœ¿çšãããŸãã
ããšãã°ãäž¡æ¹ã®ã¿ã€ãã®ããªããŒã¿ãŒãæ¡ä»¶ä»ãã®GETãªã¯ãšã¹ãã§äœ¿çšã§ããŸãïŒIf Modified SinceãŸãã¯If None MatchïŒã ãã ãããã¡ã€ã«ãéšåçã«ããŠã³ããŒãããå Žåã¯ã匷åãªæ€èšŒããŒã«ã®ã¿ã䜿çšã§ããŸããããããªããšãã¯ã©ã€ã¢ã³ãã¯äžè²«æ§ã®ãªã圢åŒã§ãã¡ã€ã«ãåä¿¡ããŸãã
ãã³ã3. Cache-ControlããããŒã«æ³šæããŠãã ããã
ãªãªãžãã«ããªããžããªã«ãããã¡ã€ã«ã®ã³ããŒã®ãã©ãŠã¶ãã£ãã·ã¥ã«æå¹æéãèšå®ããã«ã¯ãmax-ageãã£ã¬ã¯ãã£ããæã€Cache-ControlããããŒã䜿çšãããŸãã ãã®ããããŒã®ãããã§ããµã€ãã®èªã¿èŸŒã¿é床ãå€§å¹ ã«åäžãããããšãã§ããŸãããã¡ã€ã«ããã£ãã·ã¥ãããŠããå Žåããã©ãŠã¶ã¯ãµã€ããžã®åäžã®ãªã¯ãšã¹ããè¡ãããšãªããã£ãã·ã¥ã®ã³ã³ãã³ããå³åº§ã«è¡šç€ºããŸãã
ãã£ãã·ã¥å ã®ãã¡ã€ã«ä¿åæéã¯ç§åäœã§ç€ºãããŸãã
ãã£ãã·ã¥å¶åŸ¡ïŒæ倧幎霢= 7200
äžèšã®äŸã§ã¯ã7200ç§ïŒ2æéïŒã§ãã éåžžãCSSãJSãããã³ç»åãã¡ã€ã«ã¯ãã®æ¹æ³ã§ãã£ãã·ã¥ãããŸãã ããããæ°žä¹ ã«ãã£ãã·ã¥ããããšããå§ãããŸããã³ã³ãã³ããå€æŽãããšãã¯ãHTMLã§ããããžã®ãªã³ã¯ãå€æŽããŠãã ããã RFC 2616ã§ã¯ããã®ãããªãã¡ã€ã«ã«å¯ŸããŠ1幎ãè¶ ããªããã£ãã·ã¥æéãæå®ããããšããå§ãããŸãã
ãã£ãã·ã¥å¶åŸ¡ïŒæ倧幎霢= 31536000
ç¹å®ã®ãã¡ã€ã«ããã£ãã·ã¥ãããåžžã«ãæ°é®®ãã«ãããå Žåã¯ãCache-ControlããããŒã«æ¬¡ã®å€ãèšå®ãããŸãã
ãã£ãã·ã¥å¶åŸ¡ïŒãã£ãã·ã¥ãªã
ããã¯ãã¢ã€ãã ããŸã£ãããã£ãã·ã¥ããããã¹ãã¬ãŒãžãã¢ã¯ã»ã¹ããããã³ã«ã¯ã©ã€ã¢ã³ãããããèŠæ±ããå¿ èŠãããããšã瀺ããŸãïŒãã®å Žåããã¡ã€ã«ã®æ¬äœãããŠã³ããŒãããå¿ èŠãããããããã¡ã€ã«ã®èªã¿èŸŒã¿æéãé·ããªããŸãïŒã
çŸåšã®ããŒãžã§ã³ã®ãã¡ã€ã«ãåžžã«ååŸã§ããå¥ã®æ¹æ³ã¯ããã¡ã€ã«åã«ãã§ãã¯ãµã ãè¿œå ããããšã§ãã
ãã¡ã€ã«ã®å 容ãå°ãªããšã1ãããå€æŽããããšããã§ãã¯ãµã ãå€æŽãããŸãã å€æŽããªãã£ãå Žåããã©ãŠã¶ã¯ãã£ãã·ã¥ã®ãã¡ã€ã«ã䜿çšããŸãã ãã¡ã€ã«ãå€æŽãããšããã®ãã¡ã€ã«ãžã®ãªã³ã¯ãå€æŽãããæ°ããããŒãžã§ã³ãããŠã³ããŒããããŸãã
æšæºã®md5sumãŸãã¯sha1sumãŠãŒãã£ãªãã£ã䜿çšããŠãç¹å¥ãªãŠãŒãã£ãªãã£ã䜿çšããŠãã§ãã¯ãµã ãååŸã§ããŸãã
ãŸãããã¡ã€ã«ãªã³ã¯ã«ä»»æã®æåã»ããïŒã¿ã€ã ã¹ã¿ã³ãïŒhttp://example.com/script.js?timestamp_hereïŒãªã©ïŒãè¿œå ãããµã€ããå±éããããã³ã«ãªã³ã¯ãæŽæ°ããããšãã§ããŸãã ãã ãããã®æ¹æ³ã䜿çšããå Žåããã©ãŠã¶ãŒãäžèŠãªèŠæ±ãè¡ããªããšããä¿èšŒã¯ãããŸãããã³ã³ãã³ããå€æŽãããŠããªããã¡ã€ã«ã§ããç°ãªããªã³ã¯ããããŸãïŒãªã³ã¯å šäœãšã¯ãšãªãã©ã¡ãŒã¿ãŒããã£ãã·ã¥ããŒãšããŠæ©èœããŸãïŒãããäžåºŠããŠã³ããŒãããŠãã ããã
HTMLããŒãžã®å Žåãcache-controlããããŒãno-cacheã«èšå®ããããšããå§ãããŸãã ããŒãžäžã®äœããç·æ¥ã«å€æŽããå¿ èŠããããã¯ã©ã€ã¢ã³ãããã®ããŒãžããã§ã«ãã£ãã·ã¥ããŠããå ŽåïŒããã©ã«ãã§ã¯ãããè¡ãã®ã¯çŸä»£ã®ãã©ãŠã¶ãŒã§ãïŒãã¯ã©ã€ã¢ã³ãã«ã¯å€æŽããŸã£ãã衚瀺ãããªãå ŽåããããŸãã
CDNã䜿çšããå Žåãããã¯ç¹ã«éèŠã§ããAkamaiCDNã¯ã察å¿ããããããŒãªãã§ããã©ã«ãã§24æéãã¡ã€ã«ããã£ãã·ã¥ããŸãã ãã¡ããããã£ãã·ã¥ãã¯ãªã¢ããããšãã§ããŸãïŒäžèšãåç §ïŒãã察å¿ãããªã¯ãšã¹ããéä¿¡ããŠããå°ãªããšã15ååŸ ã€å¿ èŠããããŸãã ãã£ãã·ã¥ãªãã®å€ãèšå®ãããšãèµ·ããããåé¡ãåé¿ã§ããŸããããŒãžã¯åžžã«çŸåšã®ãã©ãŒã ã§ããŒããããŸãã ãã®å Žåããã©ãŠã¶ãŒã¯åŒãç¶ãIf-None-MatchïŒãŸãã¯If-Modified-SinceïŒããããŒã䜿çšããå€æŽãããŠããªãããŒãžã¯å床èªã¿èŸŒãŸããŸããã
å Žåã«ãã£ãŠã¯ãHTMLããŒãžã®ãã£ãã·ã¥æéã¯ãå€æŽã®é »åºŠã«åºã¥ããŠæé©ã«ç€ºãããŸãã ããšãã°ããµã€ãã®ãã¥ãŒã¹ããŒãžã1æéããšã«æŽæ°ãããå Žåãmax-ageã®å€ã3600ïŒ1æéïŒã«èšå®ã§ããŸãã
ãªããžããªå ã®Cache-ControlããããŒïŒããã³ä»ã®HTTPããããŒïŒã®å€ã¯ãWebã€ã³ã¿ãŒãã§ãŒã¹ãä»ããŠèšå®ã§ããŸãã
Webã€ã³ã¿ãŒãã§ãŒã¹ãä»ããŠãããããŒå€ã¯ã³ã³ããå šäœã«å¯ŸããŠã®ã¿èšå®ãããŸãã åã ã®ãã¡ã€ã«ã®ããããŒå€ã¯ãAPIãŸãã¯ãµãŒãããŒãã£ã¯ã©ã€ã¢ã³ãã䜿çšããŠã®ã¿èšå®ã§ããŸãã
Cache-Controlã®ä»£ããã«ãExpiresããããŒã䜿çšã§ããŸãã ãã®å€ã¯ãRFC 1123æ¥ä»åœ¢åŒã§æ¥ä»ã瀺ãããã®åŸããã¡ã€ã«ã¯é¢é£ããªããªããŸãïŒäŸïŒTueã31 Jan 2012 15:02:53 GMTïŒã ãã®æ¥ãŸã§ããã©ãŠã¶ã¯ãµã€ããžã®ãªã¯ãšã¹ããè¡ããŸãããããã£ãã·ã¥ãããã¡ã€ã«ãåãåããŸãã ãã®æ¥ä»ã®åŸããã¡ã€ã«ã¯å床ããŠã³ããŒããããŸãã
ãã³ã4. gzipå§çž®ã䜿çšãã
å§çž®ã䜿çšãããšããµã€ãã®èªã¿èŸŒã¿ãå€§å¹ ã«é«éåã§ããŸãã HTTP / 1.1以éãã¯ã©ã€ã¢ã³ãã¯Accept-EncodingããããŒã§ãµããŒããããŠããå§çž®æ¹åŒãå ±åããŸãã
Accept-EncodingïŒgzipãdeflate
ãµãŒããŒã®å¿çã§ã¯ã䜿çšãããå§çž®æ¹æ³ã«é¢ããæ å ±ãContent-EncodingããããŒã§éä¿¡ãããŸãã
ã³ã³ãã³ããšã³ã³ãŒãã£ã³ã°ïŒgzip
ä»æ¥æãäžè¬çã§æãäžè¬çã«äœ¿çšãããŠããæ¹æ³ã®1ã€ã¯ããã¡ããgzipã§ãã ãã®å©ãã«ãããèµ·åæéãå€§å¹ ã«ççž®ã§ããŸãã Gzipã¯ãHTMLãCSSãJSãªã©ã®ããã¹ããã¡ã€ã«ã§ç¹ã«ããŸãæ©èœããŸãã å§çž®ã«ãããããã¹ããã¡ã€ã«ã®ãµã€ãºïŒããã³ãããã«å¿ããŠéä¿¡ããããã©ãã£ãã¯ã®éïŒã¯ãå¹³åã§5ã10åæžå°ããŸãã ããã«ãããããŒãžã®èªã¿èŸŒã¿é床ãå€§å¹ ã«åäžãããããšãã§ããŸããããã¯ãæ¥ç¶é床ãé ãã¢ãã€ã«ã¯ã©ã€ã¢ã³ãã«ç¹ã«åœãŠã¯ãŸããŸãã
ç»åãã¡ã€ã«ã«gzipã䜿çšããŠãæå³ããããŸãããå§çž®ããŠããµã€ãºãå€§å¹ ã«åæžããããšã¯ã§ããŸããããå€ãã®å Žåããµã€ãºã倧ããããããšãããããŸãã
Akamai CDNã¯ãããã©ã«ãã§ã»ãšãã©ã®ããã¹ããã¡ã€ã«ã«gzipã䜿çšããŸãã
ãã³ã5. JSãšCSSãçž®å°ãã
çž®å°ãšã¯ããã¡ã€ã«ã®ãµã€ãºãçž®å°ããŠããŠã³ããŒãæéãççž®ããããã«ããã¡ã€ã«ããäœåãªæåããªãã·ã§ã³ã®æåãåé€ããããšã§ãã ãã®ããããã¡ã€ã«ãµã€ãºã¯å¹³åã§1.5ã3åæžå°ããŸãã ä»æ¥ãJSãšCSSã ãã§ãªããä»ã®çš®é¡ã®ãã¡ã€ã«ïŒHTMLãç»åãã¡ã€ã«ãªã©ïŒãçž®å°ããæ¹æ³ãæ®åããŠããŸãã
çž®å°ã«ã¯ãç¹ã«æ¬¡ã®ç¹å¥ãªããŒã«ã䜿çšãããŸãã
- UglifyJS 2
- Google Closure Compiler
- YUIã³ã³ãã¬ããµãŒ
- ãžã£ã¹ãã³
- ã¯ãªãŒã³ãªCSS
- CSSãããã¡ã€ã¢ãŒ
- html-minifier
- imagemin
çž®å°ã®å©ããåããŠãéèŠã§ãªãã¹ããŒã¹ãšæ¹è¡ïŒCSSãšJSã§ã¯ãªãã·ã§ã³ïŒãåé€ã§ããã ãã§ãªããããè€éãªæäœãå®è¡ããããšãã§ããŸãã ããšãã°ãJSã§ã¯ã次ã®åœ¢åŒã®é¢æ°ïŒ
é¢æ°summïŒfirst_paramãsecond_paramïŒ{ returnïŒfirst_param + second_paramïŒ; }
é¢æ°sïŒaãbïŒ{returnïŒa + bïŒ}ã«å€æããã³ãŒãã®ãã¹ãŠã®å Žæã§summã®ä»£ããã«sã䜿çšããªããããã®æäœã®ããžãã¯ãå®å šã«ä¿åã§ããŸãã JavaScriptã®çž®å°æé ãã©ã®ããã«æ©èœãããã¯ã httpïŒ//lisperator.net/uglifyjs/ããŒãžã®ããã¢ãéããã»ã¯ã·ã§ã³ã§ç¢ºèªã§ããŸãã
ãã³ã6.é£çµã䜿çšãã
ææ°ã®ãã©ãŠã¶ã¯ããã¡ã€ã³ããšã«å¹³å6ã€ã®åæèŠæ±ãè¡ããŸãã ãµã€ãã«å€æ°ã®å°ããªãã¡ã€ã«ãå«ãŸããŠããå Žåãèªã¿èŸŒã¿æéãé ããå¯èœæ§ããããŸããããã¯ãæ¥ç¶ãäœéãŸãã¯äžå®å®ãªå Žåã«ç¹ã«é¡èã§ãã
ããã§ã¯ãé£çµã圹ç«ã¡ãŸã-åãã¿ã€ãã®è€æ°ã®ãã¡ã€ã«ïŒããšãã°ãJSãŸãã¯CSSïŒã1ã€ã«çµåããŸãã ããã«ããããªã¯ãšã¹ãã®æ°ãæžãããŠãããŒãžã®èªã¿èŸŒã¿é床ãäžããããšãã§ããŸãã
é£çµã¯ãç»åã®èªã¿èŸŒã¿ãé«éåããããã«ã䜿çšã§ããŸãã URLã«ããŒã¿ãåã蟌ãæ¹æ³ãšã¹ãã©ã€ãã䜿çšããæ¹æ³ã®2ã€ã®æ¹æ³ããããŸãã
ããŒã¿æ¿å ¥ã¯ãç¹å¥ãªã¿ã€ãã®URL-ããŒã¿ïŒURIã䜿çšããŠå®è¡ãããŸãã URIïŒUniversal Resource IdentifatorïŒã¯ãimgã¿ã°ã®srcå±æ§ãšCSSã®èæ¯ç»åURLã®äž¡æ¹ã§äœ¿çšã§ããŸãã
ç»åãããŒã¿ã«å€æããããã®ãªã³ã©ã€ã³ããŒã«ïŒURIïŒããšãã°ã ãã¡ããšãã¡ããã芧ãã ãã ïŒã
ã¹ãã©ã€ãã¯ã1ã€ã®ç»åã«çµåãããç»åã®ã³ã¬ã¯ã·ã§ã³ã§ãã ããŸããŸãªãœãããŠã§ã¢ããŒã«ã䜿çšãããµã€ãã®åœ¢æã CSSã䜿çšãããšã倧ããªç»åã®å¿ èŠãªé åã«ã¢ã¯ã»ã¹ããŠããµã€ãäžã®é©åãªå Žæã«é 眮ã§ããŸãã
ã¹ãã©ã€ãã¯ããŠã³ããŒãé床ã®åäžã«åœ¹ç«ã¡ãŸãããã¹ãã©ã€ãã䜿çšãããšäœæ¥ãå°é£ã«ãªãããšãå€ãããšã«æ³šæããŠãã ããã ã¹ãã©ã€ããå°ãã§ãå€æŽããã«ã¯ãCSSã«é¢é£ããå€æŽãå ããå¿ èŠããããŸãã
JSïŒ Brunch ã Grunt ã Gulpãªã©ïŒã§ãããžã§ã¯ããæ§ç¯ããããã®ææ°ããŒã«ã çž®å°ãšé£çµã®æé ã¯èªååã§ããŸãã 1ã€ã®ã³ãã³ãã§ãã¡ã€ã«ã䜿çšããŠå¿ èŠãªãã¹ãŠã®æäœãå®è¡ããã«ã¯ïŒãµãŒããŒãžã®æçµå±éãå«ãïŒãã¢ã»ã³ããªã®é åºãšããããã£ãèšè¿°ããå°ããªæ§æãã¡ã€ã«ãäœæããã ãã§ååã§ãã
ãã£ãšç¥ããã人ã®ããã«
éçãµã€ãã®éçºããã³æ§æã®æ©èœã¯åºç¯ãªãããã¯ã§ããã以äžã®åºçç©ã§ã¯ééããªãç¶ç¶ããŸãã çè«ãšå®éã®äž¡æ¹ã§ãã®ãããã¯ãããæ·±ãç 究ããã人ã®ããã«ãããã€ãã®æçšãªãªã³ã¯ããããŸãïŒ
- https://developers.google.com/speed/docs/best-practices/caching/-Googleããã®ãã£ãã·ã¥ãæé©åããããã®æšå¥šäºé ã
- https://developers.google.com/speed/-Googleã®WebããŒãžã®é床ãåæããã³æé©åããããã®ããŒã«ã®ã»ããã ãµã€ãããªã³ã©ã€ã³ã§ãã§ãã¯ãïŒé©åãªåœ¢åŒã§ã¢ãã¬ã¹ãå ¥åããã ãïŒããã¡ã€ã«ã®ããŠã³ããŒãé床ã®æé©åã«é¢ããæšå¥šäºé ãæäŸããŸãã ãŸããChromeãšFirefoxã®ãã©ã°ã€ã³ãå«ãŸããŠããããã©ãŠã¶ããçŽæ¥ãµã€ãã蚺æã§ããŸãã
- http://tools.pingdom.com/fpt/-ãµã€ãã®èªã¿èŸŒã¿é床ã枬å®ããåé¡ã蚺æããããã®ãªã³ã©ã€ã³ããŒã«ã
- https://developer.yahoo.com/performance/rules.html-Yahoo !ã®Webãµã€ãã®é床ãåäžãããããã®æšå¥šäºé
- http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html-ãã£ãã·ã¥èšå®ã«é¢ããRFC2616ã®ç« ïŒHTTPãããã³ã«ã®æäœã«ã€ããŠèª¬æïŒã
ã³ã¡ã³ãå ã®ãã¹ãŠã®è³ªåãšã³ã¡ã³ãã«ãçãããŸãã ç§ãã¡ã¯ã次ã®åºçç©ã®ããããã§éçãµã€ãã®éçºã®çŸåšã®åŸåã«ã€ããŠè©±ãããšãçŽæããŸãã
äœããã®çç±ã§ããã«ã³ã¡ã³ããæçš¿ã§ããªãèªè ã¯ãç§ãã¡ã®ããã°ã«åå ããŠãã ããã