-ã¿ãªãããããã«ã¡ã¯ãç§ã®ååã¯Ivan Khvatovã§ããæ€çŽ¢ã€ã³ãã©ã¹ãã©ã¯ãã£ã§åããŠããŸãã æè¿ãæ€çŽ¢çµæã®é«éåã«åãçµãã§ããŸãã ã¬ã€ã¢ãŠããããã¯ãšã³ãããŒã ããã©ãã£ãã¯é ä¿¡ãæ åœããŠããŸãã ä»æ¥ã¯ãã¢ãã€ã«æ€çŽ¢ãã©ã®ããã«é«éåããããã©ã®ãã¯ããã¯ã䜿çšããããæåããã倱æãããã説æããŸãã ãããã¯ç§ãã¡ã ãã®ãã®ã§ã¯ãããŸããã äœããå€åããªãã¯ãããèªåã§è©Šãããšãã§ããŸãã é害ãé害ããåŠãã ããšãæ¥ç¶é床ã«å¿ããŠã¬ã€ã¢ãŠãã調æŽããæ¹æ³ã«ã€ããŠèª¬æããŸãã
RuNetã®ãã¹ã¯ããããšã¢ãã€ã«ã®ã¹ã©ã€ã¹ã§ã®åºåã®æåã®ã¬ã³ããªã³ã°ã®æéãèŠããšãã¢ãã€ã«ã¯æ¥ç¶é床ã«å¿ããŠ1.5ã2åé ããŠããããšãããããŸãã
é床ããŠãŒã¶ãŒã®å¹žçŠã«çŽæ¥åœ±é¿ããããšã¯åšç¥ã®äºå®ã§ãã ãŠãŒã¶ãŒã¯ãé«éãµãŒãã¹ã䜿çšããŠãåé¡ãè¿ éã«è§£æ±ºããããšã奜ã¿ãŸãã äžéšã®åé¡ã§ã¯ããŠãŒã¶ãŒã¯ã¢ãã€ã«ã€ã³ã¿ãŒããããããå°ãªããšããã¹ã¯ããããšããŠã¯é«éã§ãªããŠãåäœããããšãæåŸ ããŠããŸãã ãããã£ãŠãç§ãã¡ã¯æè¿ãã¢ãã€ã«ã€ã³ã¿ãŒãããã®æé©åã«çå£ã«åãçµãã§ããŸãã
çç±ãç解ããããã«ãã¢ãã€ã«Webã®æ©èœãèŠãŠã¿ãŸãããã
ã¢ãã€ã«ã€ã³ã¿ãŒãããã¯ãã»ãŒ100ïŒ ã¯ã€ã€ã¬ã¹ïŒã»ã«ã©ãŒãŸãã¯Wi-FiïŒã§ãã æ¥ç¶ã«ã¯ãé 延ã1ã€ã®ãã±ããããµãŒããŒã«å°éããŠæ»ã£ãŠãããŸã§ã®æéãpingã³ãã³ããªã©ã®ç¹æ§ããããŸãã ããã³-ãã£ãã«å¹ ïŒæ¥ç¶ãã¹ãããããåäœæéãããã®ããŒã¿éã
ãããã®ç¹æ§ã¯ãã¢ãã€ã«ã€ã³ã¿ãŒããããWi-Fiãããã³ã»ã«ã©ãŒãããã¯ãŒã¯ã§ã¯éåžžã«å£ã£ãŠããŸãã 倧ããªé ãã ãã£ãã«å¹ ãéåžžã«çããããã¯ãŒã¯æè¡ããããŸãã ããããããã«æªãããšã«ããããã®ç¹æ§ã¯ãããŸããŸãªæ¡ä»¶ãã¿ã¯ãŒã®è·éãã¿ã¯ãŒãŸã§ã®è·é¢ããã³ãã«ã«é転ãããã©ããã«ãã£ãŠã¯äžå®å®ã§ãã ãŸãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®åŸæ¥ã®ã¢ã«ãŽãªãºã ã¯ããããã®ç¹æ§ãå®å®ããããã«èª¿æŽã調æŽãããäžå®å®ãªç¹æ§ã§ã¯æ¥ç¶é床ãå€§å¹ ã«äœäžããŠããŸããã
2çªç®ã®ç¹åŸŽã¯éã§ãã é»è©±ã¯ãæ¥éãªæé·ã«ãããããããããã»ããµãã¡ã¢ãªããã©ãã·ã¥ã®ç¹ã§ãŸã ãã¹ã¯ãããã«é ãããšã£ãŠããŸãã ãã£ãã·ã¥ãããªãœãŒã¹ãååŸãããšããŠãããã¹ã¯ããããããã¯ããã«é ããªããŸãã
ãããã®æ©èœã¯ããŒãžã®èªã¿èŸŒã¿ã«ã©ã®ããã«åœ±é¿ããŸããïŒ ãã©ãŠã¶ããªã¯ãšã¹ããè¡ããããŒãžãã¬ã³ããªã³ã°ããããšãããšã©ããªããŸããïŒ äœããã®ãããã¯ãŒã¯ã¢ã¯ãã£ããã£ããããæ¥ç¶ã確ç«ãããŸãã ãµãŒããŒã§æ¥ç¶ãåä¿¡ããããµãŒããŒããããåŠçããŸãããã°ããæéãããããŸãã ãã®åŸããã©ãã£ãã¯ãé ä¿¡ãããŸãã 次ã®ã¹ããã-ãã©ãŠã¶ãŒã¯å¿çã解æããåºåãæç»ããŸãã
é»è©±ã§ã®é«éæ¥ç¶ãšäœéæ¥ç¶ã®ã³ã³ããã¹ãã§ãããã®ã¹ããŒãžãäºãã«çžå¯Ÿçã«ã©ã®ããã«èŠããããèŠããšãé«éãããã¯ãŒã¯ã§ã¯ãããŒãžã衚瀺ããéã®ããã«ããã¯ã¯ãæ£ç¢ºã«ããŒãžã®è§£æãšã¬ã³ããªã³ã°ã§ãã
ãããšã¯å¥ã«ãå®å šãªæ¥ç¶ã®ã»ããã¢ããã«ãããªãã®æéããããããšã«æ³šæããŠãã ãããããã¯ã¬ãããŸãŒã³ã§ãã
3Gãããã¯ââãŒã¯ã®å Žåãæ¥ç¶ã®ç¢ºç«ã«ã»ãšãã©ã®æéããããã¯ãŒã¯éšåã«è²»ããããŸãã ãŸããå®å šãªæ¥ç¶ã®èšå®ãéç«ã£ãŠããŸãã ãŠãŒã¶ãŒã«èŠãããã¯ã€ãããŒãžãå°ãªããªãããã«ã¢ãã€ã«ãæé©åããå Žåã¯ãæ¥ç¶ã®ç¢ºç«ã«æ³šæãæããå®å šãªæ¥ç¶ã®ã»ããã¢ããã«å¥é泚æãæãå¿ èŠããããŸãã
æ¥ç¶ã¯ã©ããªããŸããïŒ ææªã®ã·ããªãªã§ã¯ããã©ãŠã¶ã¯DNSã解決ããIPã¢ãã¬ã¹ãååŸããå¥ã®ãããã¯ãŒã¯å ¥åãè¡ããTCPæ¥ç¶ã確ç«ããŠãããå®å šãªæ¥ç¶ã確ç«ããŸãã 圌ãšäžç·ã«ãååãšããŠãããå°ãè€éã§ãã å°ãªããšãã2ã€ã®èŠæ±ãè¡ãå¿ èŠããããŸãã ããã«ã€ããŠã¯ã2ã€ã®ãããã¯ãŒã¯ãšã³ããªã§è©³ãã説æããŸãã ãããŠãªã¯ãšã¹ãããé¡ãããŸãã
ãã®çµæãæåã®ããŒã¿ãååŸããããã«ã5ã€ã®ãããã¯ãŒã¯ãšã³ããªãå®è¡ããå¿ èŠããããŸãã ãã·ã¢ã®å®éã®ã¢ãã€ã«ã€ã³ã¿ãŒããããèŠãŠã¿ãŸããããããã¯ã1ã€ã®ãããã¯ãŒã¯ãšã³ããªã«çžåœããŸãã
ååãšããŠãRunetã®ãŠãŒã¶ãŒã®50ïŒ ãã¬ã€ãã³ã·ã§åé¡ãªãåäœããŠããããšãããããŸãã77ããªç§ã5ã€ã®ãããã¯ãŒã¯ãšã³ããªããŠãŒã¶ãŒã¯å®éã«ã¯ãã®ç¬éã«æ°ä»ããŸããã ãããããŠãŒã¶ãŒã®åŸ ã¡æéã®2çªç®ã®éšåã¯å€§å¹ ã«å¢å ããŠããŸãã ãããŠããã§ã«æãé ã10åã®1ã€ã®ãããã¯ãŒã¯ãšã³ããªã§ã¯ãã»ãŒ2ç§ã§ãã ã€ãŸããYandexãŠãŒã¶ãŒã®10ïŒ ã¯ãã»ãŒ10ç§ã§å®å šãªæ¥ç¶ã確ç«ããããšäºæ³ããŸããããã¯éåžžã«é·ãæéã§ãã
ãªããã®ãããªããŒã«ããªãã¬ã€ãã³ã·ãŒãå¢å€§ããŠããã®ã§ããïŒ
2ã€ã®çç±ã ãŸãããããã¯ãŒã¯ãã¯ãããžãŒã2Gããã³3GãèŠããšããããã¯ãŒã¯ãã¯ãããžãŒã®ã¿ã€ããã¬ã€ãã³ã·ãŒã®äžå€®å€ã«ãã£ãŠããã¯ãããžãŒã§ã¯ãªããã¹ããŒãããããŸããããå®éã®æ°å€ã§ããã¬ã€ãã³ã·ãŒã¯éåžžã«æªãã§ãã Wi-Fiãš4Gã§ã¯ããã¹ãŠãå€ããå°ãªããæ£åžžã§ãã ãããã埮åŠãªéãããããŸãã
éè² è·ãäžå®å®ãªä¿¡å·ãç©ççãªå¹²æžã 次ã«ç°¡åãªäŸã瀺ããŸããé»è©±ãYandexããåŸ ã¡æéãåé€ããpingã³ãã³ããå®è¡ããŠããããäœã§ãããã確èªããŸãã å žåçãªç¶æ³ã§ã¯0.5ç§ã1ã€ã®ãããã¯ãŒã¯ãšã³ããªã§ããããšãããããŸãã ãã®æç¹ã§ãã£ãã«ã®ããŒããéå§ããããŒãžãããŠã³ããŒãããã ãã§ãã¬ã€ãã³ã·ãŒã¯ã»ãŒ10åãæ倧6ç§ã«ãªããŸãã ãã®æç¹ã§ããã£ã³ãã«ãããŒãããããšãã«ãã¬ã³ããªã³ã°ã«å¿ èŠãªããã€ãã®ããããã³ã°åŒã³åºããéå§ãããŠãŒã¶ãŒãããããåŸ ã€ããšã¯ãªãããšã¯æããã§ãã 5ã€ã®ãããã¯ãŒã¯ãšã³ããªã25ç§ã誰ããããªã«åŸ ããªãã
ãããã©ãããŸããïŒ æé©åããŸãããã
ããã€ãã®ã¢ãããŒãããããŸãã æãç°¡åã§å¹æçãªã®ã¯ãååãšããŠãæ¥ç¶ã確ç«ããªãããšã§ãã ããããéèŠãªãã€ã³ã-ç§ãã¡ã¯ãªãã€ã¬ã¯ããèŠãŠãç§ãã¡ãããããããªãããã«ããŸãã ããã«ãå®å šãªæ¥ç¶ã®ã€ã³ã¹ããŒã«ãããã§äœãã§ãããã詳ãã調ã¹ãŸãã
ã©ãããã°æ¥ç¶ã§ããŸããïŒ ããã¯äžèŠã·ã³ãã«ãªç¬éã§ãã ããŒãã¢ã©ã€ãããµãŒããŒã§æ§æãããŠããããšãããããŸãã ãããã埮åŠãªéãããããŸãã ã¢ããªã±ãŒã·ã§ã³ãæªããããã¯ãŒã¯ã«é 眮ããããšãå€ãã®å Žåãã¿ã€ã ã¢ãŠãã«ãã£ãŠæ¥ç¶ãåæããå§ããŸãã éåžžã®ç¶æ ã§ã¯ãããã«æ°ä»ããŸãããé ããããã¯ãŒã¯ã§ã¯ãããåé¡ã«ãªããæ¥ç¶ãã¿ã€ã ã¢ãŠãã«ãªãããã©ãŠã¶ãŒã§æ¥ç¶ãåäœæããå¿ èŠããããŸãã ãããã£ãŠãã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã®ã¿ã€ã ã¢ãŠããåæããæ£ããæ§æããŸãã
2ã€ç®ã¯äºåæ¥ç¶ã§ãã ãã®æ¥ç¶ãå¿ èŠã«ãªãåã«æ¥ç¶ãè¡ããŸãã æéãæ¥ãŠããŠãŒã¶ãŒãããŒãžãèŠæ±ãããšããã§ã«æ¥ç¶ã®æºåãã§ããŠããã®ã§ãé·ãåŸ ã€å¿ èŠã¯ãããŸããã
äºåæ¥ç¶ã¯æšæºã®ãã£ã¬ã¯ãã£ãã§ãããHTMLã§çŽæ¥æå®ã§ãããã©ãŠã¶ã¯ãããç解ããŸãã 倧å€æ°ã
Yandexã§ã¯ããªã¯ãšã¹ãã®åŠçæ¹æ³ãåæããæ€çŽ¢ã®ãã³ãã衚瀺ãããµãŒãã¹ãèŠã€ããŸããã ç§ãã¡ã¯ãä»äºã®æåã®æ®µéã§ãæ¢æã®ã€ãªããããªãå Žåãã³ãŒã«ãã³ãã¯ã·ã§ã³ãéããŠãããè¡ãããšã«æ°ä»ããŸããã ã¢ãŒããã¯ãã£ããããã«å€æŽããå¥ã®ãµãŒãã¹ããã®æ¥ç¶ãåå©çšããããã«ããŸããããã®ãµãŒãã¹ã®ã€ã³ãã¬ãã·ã§ã³æ°ã¯ã»ãŒ5ïŒ å¢å ããŸããã
ãªãã€ã¬ã¯ãã ããã¯é床ã®é¢ã§å€§ããªæªã§ãã æåã«ããã©ãŠã¶ã¯æ¥ç¶ã確ç«ãããã¹ãŠã®æ®µéãçµãŠããŠãŒã¶ãŒã¯åŸ æ©ãããµãŒããŒã¯åœŒãããã«æ¥ãªãã£ããšèšããå察ã«è¡ããŸãã ãããŠããã©ãŠã¶ãŒã¯æ¥ç¶ãåäœæããããããã¹ãŠã®ã¹ããããå®è¡ããŸãã
ããã§äœãã§ããŸããïŒ ãã°ãåæãããªãã€ã¬ã¯ãã®å Žæã確èªããã¢ããªã±ãŒã·ã§ã³å ã®ãµã€ãã®ãªã³ã¯ãå€æŽããŠãåžžã«çŽæ¥ã®èšªåãè¡ãããããã«ããŸãã
ãã°ã®2çªç®ã®æ©èœã¯ãHTTPããHTTPSãžã®ãªãã€ã¬ã¯ããå€æ°ãã£ãããšã§ãã ãŠãŒã¶ãŒã¯HTTPã«åãæ¿ããHTTPSã«ãªãã€ã¬ã¯ãããåã³åŸ æ©ããå®å šãªæ¥ç¶ã確ç«ããŸãã
ãããé²ãããã«ãHSTSãã¯ãããžãŒããããŸãããµãŒããŒã®å¿çã§ããµã€ããHTTPSçµç±ã§ã®ã¿æ©èœããããšãäžåºŠèšãããšãã§ããŸãã次åHTTPçµç±ã§åŒã³åºããšããã©ãŠã¶ãŒã¯èªåçã«å éšãªãã€ã¬ã¯ããè¡ããããã«HTTPSãèŠæ±ããŸãã
TLSãå®å šãªæ¥ç¶ã®ç¢ºç«ã ã»ãã¥ãªãã£ã®èŠ³ç¹ããã§ã¯ãªããé床ã®èŠ³ç¹ãããã®ãããªã¹ããŒã ãèŠãŠã¿ãŸãããã TLSã¯ã©ã®ããã«ã€ã³ã¹ããŒã«ãããŸããïŒ 2ã€ã®æ®µéã æåã®æ®µéã§ãã¯ã©ã€ã¢ã³ããšãµãŒããŒã¯æå·åèšå®ã亀æããã©ã®ã¢ã«ãŽãªãºã ã䜿çšãããã決å®ããŸãã 2çªç®ã®ããã詳现ãªæ å ±ãããŒã¿ã®æå·åæ¹æ³ã«é¢ããããŒã
2ã€ã®ãããã¯ãŒã¯ãšã³ããªãããããšã«å ããŠãã¯ã©ã€ã¢ã³ããšãµãŒããŒã¯èšç®ã«ããçšåºŠã®ããã»ããµæéãè²»ãããŸãã ãããæªãã§ãããé ãã§ãã
ããã§äœãã§ããŸããïŒ TLSã»ãã·ã§ã³ãã±ããã«ã¯å€ããå°ãªããæšæºçãªæé©åããããŸããããã®æ¬è³ªã¯äœã§ããïŒ æ¥ç¶ããã¹ãŠã®æ®µéãå®å šã«ééããåŸããµãŒããŒã¯ã¯ã©ã€ã¢ã³ãã«ãã±ãããæž¡ãã次ã«æ¥ç¶ã確ç«ãããšãã«ãã®ãã±ãããæã£ãŠæ¥ãŠãã»ãã·ã§ã³ã埩å ããããã«èšããŸãã ãã¹ãŠãããŸãæ©èœããŸãã1ã€ã®ãããã¯ãŒã¯ãšã³ããªãä¿åãã次ã«è€éãªæå·åãè¡ããŸããã
ãããã埮åŠãªéãããããŸãã ã»ãã¥ãªãã£äžã®çç±ããããããã®ãã±ãããé·æéä¿åããããšã¯ã§ããŸããã ãã©ãŠã¶ã¯ãã°ãã°ã¡ã¢ãªã䜿ãæãããããããã®ããŒã倱ãã次åã¯2段éã§ãããééããªããã°ãªããŸããã
ãããã£ãŠãTLS False StartãšåŒã°ãã2çªç®ã®æé©åãå©ãã«ãªããŸãã
ïŒ ãªã³ã¯ -ç·šéïŒ
ãŸãã1ã€ã®ãããã¯ãŒã¯ãšã³ããªãåæžãããŸãã å šäœã®èŠç¹ã¯ãã¹ããŒã ãèŠããšããµãŒããŒããæåã«å¿çãåãåã£ããšãã«ããŠãŒã¶ãŒãžã®ãã¹ãŠã®ããŒãæå·åããŠãµãŒããŒã«éä¿¡ããããã®ãã¹ãŠã®ããŒã¿ãããããšã§ãã æ¥ç¶ã¯ããŒããªãŒãã³ç¶æ ã§çºçããŸãã
ååãšããŠãäœãå¹²æžããŸããããã®ææ³ã¯TLS False StartãšåŒã°ããã¯ã©ã€ã¢ã³ãããµãŒããŒããæåã®ããŒã¿ãåä¿¡ãããšãããã«ããããæå·åããæ¥ç¶ã»ããã¢ãããšãšãã«èŠæ±ãéä¿¡ããŸãã
ãããããã¥ã¢ã³ã¹ããããŸãã ããã¯ã€ã³ã¿ãŒãããã§ãããããTLSãµãŒããŒã«ã¯å€ãã®å®è£ ããããŸãããäžéšã®å®è£ ã¯ãããç ŽããŸãã IEãã©ãŠã¶ã¯ããã®ãããªæé©åãããã©ã«ãã§æå¹ã«ããããšããŸããããäžéšã®ãµã€ããåã«æ©èœããªããšããåé¡ããããŸããã 圌ãã¯å£ãããµã€ããªã©ã®ãªã¹ããç¶æããŸããã
ä»ã®ãã©ãŠã¶ã¯ä»ã®æ¹æ³ã§è¡ã£ãã 圌ãã¯ããã©ã«ãã§ãã®æé©åããªãã«ããŸããããTLSãµãŒããŒãã©ã®ããã«æ§æãããŠãããã«ã€ããŠãä»ã®æ©èœãèŠãŠãã ããã ææ°ã®æå·åã¢ã«ãŽãªãºã ã䜿çšãããµãŒããŒããã®æåã®å¿çã§ç解ããALPNæ¡åŒµæ©èœããµããŒãããŠããå Žåããã®æé©åãå«ãŸããŠããããã¹ãŠåé¡ãããŸããã
HTTPSãµãŒãã¹ãèšå®ããæ¹æ³ã®è©³çŽ°ã«ã€ããŠã¯ã Habréã®ã»ãã¥ãªãã£ãµãŒãã¹ã®æçš¿ãã芧ãã ããããã¹ãŠãæã£ãŠããŸãã
TLS False Startæé©åããªã³ã«ããåŸããã±ããã¯é·æéãªã³ã«ãªããã¢ãã€ã«ã§ã®å®å šãªæ¥ç¶ã®ç¢ºç«ãå¹³å13ïŒ å éããŸããã 圌女ã¯ãšãŠãå¹æçã§ãã
次ã¯ïŒ ãã¹ãŠã®å€æŽãå±éããŸããããã»ãã¥ãªãã£ã§ä¿è·ãããæ¥ç¶ã®ã»ããã¢ããã«ã¯ãŸã æéãããããŸãã ç§ãã¡ã¯èãå§ããŸããã2ã€ã®ãããã·ãŒãããããšããäºå®ã«å ããŠããããã¯ä¿®æ£ãããŠããããã«èŠããŸãããããŸã å€ãã®ããŒã¿ãéä¿¡ãããŠããŸãã ãµãŒããŒããã¯ã©ã€ã¢ã³ãã«è»¢éããããã®ããŒã¿éãããªãã³ã°ããæ¹æ³ãèããŸããã
äžäœäºææ§ã®ããã«ãã§ãŒã³å ã«èšŒææžãããããšãããããŸããããçŸåšã§ã¯å¿ èŠãããŸããããåé€ãããŸããã ãããŠã圌ãã¯OCSPã¹ããŒããªã³ã°ã«æ³šç®ããŸãã-ããã¯èšŒææžã®å€±å¹ã確èªããããã«çºæãããæè¡ã§ããã蚌ææžã倱å¹ããå Žåããã©ãŠã¶ã¯å®å šãªæ¥ç¶ã確ç«ããäœããã®æ¹æ³ã§èŠåããŸãã
ããããæéãçµã€ãšãæ¥çã¯çŸåšãéåžžã®èšŒææžã§ã¯ããã©ã«ãã§OCSPãã»ãã¥ãªãã£ã«åœ¹ç«ããªããšèŠãªããã段éã«ãããããã»ãšãã©ã®äººã¯OCSPã䜿çšãããããã¯ã°ã©ãŠã³ãã§å®æçã«æŽæ°ããã倱å¹ãã蚌ææžã®ãªã¹ããç¶æããŠããŸãã
OSCPããªãã«ãã蚌ææžãã«ããããå®éšãéå§ããŠãTLSãã³ãã·ã§ã€ã¯ãããã«7ïŒ å éãããããšã確èªããŸããã ãã®æé©åãæ¬çªç°å¢ã«æ®ãããšã«ããŸããã Operaã®æ¥ç¶èšå®ãäœäžããOCSPå¿çã確èªãããŸãããããã°ãããããšããã©ãŠã¶ãŒã®ãã£ãã·ã¥ããŠã©ãŒã ã¢ãããããšãOSCPå¿çãããã«ãã£ãã·ã¥ãããŸãã yandex.ruã®èšŒææžãåãæ¶ãããŠãããã©ããã確èªããŸãã åŒã³åºãããªãå Žåãå¿çã¯ãã°ãããã£ãã·ã¥ããã次åã¯ãã®ãããªåŸªç°ã¯ãããŸããã
ãã®ãã£ãã·ã¥ãå ¥åããããšãOperaã§æ¥ç¶ãããéã確ç«ããå§ããããšã«æ°ä»ããŸããã å°ãã®ã»ãã¥ãªãã£ã倱ããªãããããã®æ©èœããªãã«ããããŒã¿ãµã€ãºãåæžãããã£ãã«å¹ ãããã«ããã¯ã§ããäœéãããã¯ãŒã¯ã®å Žåãé«éåãå®çŸããŸããã
æ¥ç¶ã確ç«ããã³ã³ãã³ããããŠã³ããŒãããŸããã ãµãŒããŒããªã¯ãšã¹ããåä¿¡ããŸããããã®å Žåãããã¯æ€çŽ¢ãªã¯ãšã¹ãã§ãããæ€çŽ¢ã¯ããã«ã¯æ©èœããŸããã å€ãã®ãµãŒããŒãå€ãã®ãããã¯ãŒã¯ãšã³ããªãã©ã³ãã³ã°ãããããã¹ãŠæéãããããŸããç§ãã¡ã¯ç©æ¥µçã«åãçµãã§ãããæé©åãè¡ã£ãŠããŸãããããã§ããªãã ã©ãããã°ãã®ç¶æ³ãå æã§ããŸããïŒ
æ€çŽ¢ç¢å°ããããŸãããããã¯æ€çŽ¢çµæã«äŸåããŸããã æ€çŽ¢çµæãåä¿¡ããåã§ãããã®æ€çŽ¢ç¢å°ã®ãŠãŒã¶ãŒãžã®éä¿¡ãéå§ã§ããŸãã HTTPã«Chunked-Encodingãé 眮ããæ€çŽ¢ç¢å°ãéä¿¡ããŸãã ãŸãããŠãŒã¶ãŒã¯èªåã®ããŒãžãèªã¿èŸŒãŸããŠããããšã確èªããŸãããŠãŒã¶ãŒã¯çœãç»é¢ãèŠãŠããã ãã§ã¯ãããŸããã 第äºã«ãç§ãã¡ãå éããŠããŸãã ãã®æ€çŽ¢ç¢å°ãæž¡ããšãTCPæ¥ç¶ããŠã©ãŒã ã¢ããããã次ã«æ€çŽ¢çµæã®æºåãã§ãããšãã«ãããéãå°çããŸãã ããã«ããã®æ€çŽ¢ç¢å°ã¯äœããJavaScriptã«ããŒãããæ¥ç¶ãåŒãç¶ãããšãã§ããŸãã
æ€çŽ¢çµæãååŸããã¢ããããŒãããŸãã 以äžã¯ãããŒã¿ãå¯èœãªéãå§çž®ããããã«å¿ èŠãªç°¡åãªæé©åã§ãããããã£ãŠãBrotliãZopfliã䜿çšããŸãã Brotli-å¯èœãªå Žåã Zopfliã§ã®ç»åã®ãã«ããã¯ãç»åã®æé©åããã©ãŠã¶ãWebPã§ããå Žåã¯ãããã䜿çšããŸãã SVGã«å¯Ÿå¿-SVGã䜿çšããŸãã
HTMLãåãåã£ããããã«åºåãæŽçã§ããããã«ãå€éšãªãœãŒã¹ïŒã€ãŸããã€ã³ã©ã€ã³ã¹ã¿ã€ã«ïŒããã¹ãŠHTMLã§ãããã¯ããªãããã«ããŠãã ããã
ãããŠãå¥ã®æ©èœã¯ãéçããŠã©ãŒã ã¢ããããããšããããšã§ãã ããšãã°ããŠãŒã¶ãŒããµãŒãã¹ãã¡ã€ã³ããŒãžã«ã¢ã¯ã»ã¹ããæ¥ç¶ãã¢ã€ãã«ç¶æ ã®å Žåãæ€çŽ¢çµæã§äœ¿çšããããªãœãŒã¹ãã¢ããããŒãã§ããŸãã ãŸãããŠãŒã¶ãŒãã¯ãšãªãå ¥åããæ€çŽ¢çµæã«åãæ¿ããåŸã圌ã¯ãã§ã«ããããã£ãã·ã¥ãæã£ãŠããããããªãœãŒã¹ãã¢ããããŒãããå¿ èŠã¯ãããŸããã
WebPã«ã€ããŠã¯å¥ã«æ³šæãããã æé©åã¯éåžžã«åçŽã§ããããã«æããŸããããªã³ã«ããŠåäœããŸãããéåžžã«å€§ããªå©çããããããŸãã çŽ æŽãããå éã
ããããµãŒãã¹ã§WebPããªã³ã«ããŠåçã§æ€çŽ¢ãããšãå®å šã«èªã¿èŸŒãŸããçµæã®æ°ã20ïŒ å¢å ããŠããããšãããããŸããã ãŠãŒã¶ãŒã¯ãããŒãžãå®å šã«ããŒããããã®ãåŸ ã¡å§ããŸããã ãã©ãã£ãã¯ã14ïŒ åæžããŸããã
ãã€ãã¹ã®ãã¡ãããã·ã¥ããããæžå°ããŸããã ãµãŒããŒãè¿œå ãããã®åé¡ã解決ããŸããã
ããã§ã®äž»ãªããšã¯ããããããªãããšã§ããHTMLãåºããããåºããããããšãã«ããã¹ãŠãæžãããŠã次ã®ãããªç¶æ³ã«ãªããŸããã æé©åããããšã¯å¯èœã§ããããåæã«ããªã³ã©ã€ã³å®éšãè¡ã£ããšãã«ãã¬ã³ããªã³ã°ãé ããªã£ãŠããããšã«æ°ä»ããŸããã é ããããã¯ãŒã¯ã®ãŠãŒã¶ãŒã«å¯ŸããŠã¯ãããããé«éåããæ¹åããããŒãžã®èªã¿èŸŒã¿ãæ¹åããŸãããããããã¯ãŒã¯ãããã«ããã¯ã§ã¯ãªãã£ãå Žåãé床ãäœäžããããšã«æ°ä»ããŸããã
ãã®ç¶æ³ã«å¯ŸåŠããæ¹æ³ãèãã次ã®çµè«ã«éããŸãããæ¥ç¶é床ã«å¿ããŠåºåãå€æŽããäœããã®åœ¢ã§é©å¿ãããå¿ èŠããããŸãã ã©ããã£ãŠããã®ïŒ ããã«é²ãã§ãäœéãããã¯ãŒã¯ã®ãŠãŒã¶ãŒåãã«ç¹å¥ãªã©ã€ãããŒãžã§ã³ã®åé¡ãäœæãããšããçµè«ã«éããŸããã ãããè¡ãã«ã¯ããµãŒããŒåŽããæ¥ç¶é床ã決å®ããæ¹æ³ãåŠã¶å¿ èŠããããŸãã
第äºã«ããããããããã¯ãŒã¯ãããããããã€ã¹ã§åäœããã¹ãŒããŒã¬ã€ã¢ãŠããäœæããŸãã ãµãŒããŒã®æ¥ç¶é床ã決å®ããæ¹æ³ãåŠç¿ããæ¹æ³ã¯ããã€ããããŸãã Linuxã«ãŒãã«ã®ããŒã¿ã§ããTCP_INFOããŒã¿ã䜿çšããTLSæ¥ç¶ã®ã€ã³ã¹ããŒã«æéã確èªããŸããã¯ã©ã€ã¢ã³ããéåžžã«è³¢ããã¯ã©ã€ã¢ã³ãèªèº«ãæªããããã¯ãŒã¯ã«ããããšãäŒããå Žåããã®ããŒã¿ã䜿çšããŸãã
TCP_INFOããŒã¿ãnginxã§çŽæ¥äœ¿çšãã1è¡ã®ã³ãŒãã§æ§æãæå¹ã«ãããšãé床ææšãããã¯ãšã³ãã«å±ãã®ã¯çŽ æŽãããããšã§ãã
SSLããã±ãããéä¿¡ãããŠãŒã¶ãŒãããã±ãããåä¿¡ããæéã枬å®ããŸãã ãã®ééã¯ã1ã€ã®ãããã¯ãŒã¯çºçã®æéãšèŠãªãããŸãã
æ¥ç¶é床ã決å®ããããã«ãããããã¹ãŠã®èŠå ã䜿çšããŸãã
ãããªãã¬ã€ã¢ãŠãã ã¬ã€ã¢ãŠãã«ã€ããŠã¯ããã®ã¬ã€ã¢ãŠãã®ã¡ã€ã³éçºè ããHabréã«å¥ã®æçš¿ããããŸãã ããªããããã³ããšã³ããæãã奜ããªããããªãã¯èªãããšãã§ããŸã-ããã¯ããã§éåžžã«èå³æ·±ãã§ãã èŠããã«ããµã€ãºã«é¢ããŠã¯éåžžã«åãæšãŠãããŠããŸãããç®ã«èŠããéãã¯ãããŸããã èšç·ŽãåããŠããªã人ã¯ãå®å šãªã¬ã€ã¢ãŠããšè»œãã¬ã€ã¢ãŠããåºå¥ããŸããã çµæããã®ãããªãã®ããªããããããªãããšã¯æããã§ãã åããã¯ããã¯ãã€ã³ã©ã€ã³CSSã䜿çšãããµã€ãºãçž®å°ããéåžžã«å°ããªæ€çŽ¢ç¢å°ãäœæããAjaxãæåŠããéåžžã«è»œãJSã䜿çšããŠãæãé ãããã€ã¹ããã°ããã¬ã³ããªã³ã°ã§ããããã«ããŸãã
Yandexã§å®éšãéå§ããåŸãæ€çŽ¢ã€ã³ãã¬ãã·ã§ã³ã®æ°ãæ€çŽ¢çµæã®ããŠã³ããŒãæ°ã2.2ïŒ å¢å ããããšãããããŸããã ããã¯éåžžã«å€§ããªçµæã§ãã ããã¯ãäœéãããã¯ãŒã¯ã§åé¡ã解決ã§ãããŠãŒã¶ãŒã2.2ïŒ å¢ããããšãæå³ããŸãã
1幎ããšã®ã¬ã³ããªã³ã°ã¬ã³ããªã³ã°ã®ã°ã©ããèŠãŠã¿ãŸãããã 10æãŸã§ã«æ£èŠåãããŸãã ã¹ã±ãžã¥ãŒã«ã¯çµ¶ããæé·ããŠãããã€ãŸããæé©åã絶ããå°å ¥ãããŠããããšãããããŸããYandexã®å€ãã®ããŒã ãããã«åãçµãã§ããŸãã ãã ãã3ã€ã®æ®µéããããŸããæåã¯ç°¡åãªæ€çŽ¢çµæãå®è£ ããã°ããã§ãæåã¯å å«ã2çªç®ã¯äœéæ¥ç¶ã決å®ããã¢ã«ãŽãªãºã ãæ¹åãã3çªç®ã¯TLSæ¥ç¶ã®æé©åãå®è£ ããŸããã ã芧ã®ãšããã1幎ã§æåã®ã¬ã³ããªã³ã°ãã»ãŒ2åã«é«éåããããšãã§ããŸããã
ç§ã«ã¯ãã¹ãŠããããŸãã ãããã®æé©åã圹ç«ã€ããšãé¡ã£ãŠããŸãã ããŸããŸãªãµã€ããåãæé©åã«å¯ŸããŠç°ãªãåäœãããããããããããã¹ãããå¿ èŠããããŸããã¡ããªãã¯ãåéãããã¹ãŠãã©ã®ããã«æ©èœãããã確èªããå¿ èŠããããŸãã ããããšã