HTTP / 2æšæºã¯ãGoogleãéçºããSPDYãããã³ã«ã«åºã¥ããŠããŸãã Google Chromeã§ã¯ã 2016幎åé ãŸã§ SPDYãµããŒããå©çšã§ããŸãã NGINXã¯ãSPDYãããã³ã«ãå®è£ ããæåã®äŒæ¥ã®1ã€ã§ãããçŸåšHTTP / 2ã®æšé²ã«ãããŠäž»å°çãªåœ¹å²ãæãããŠããŸãã SPDYãšæ¯èŒããHTTP / 2ã®è©³çŽ°ãªèª¬æãæäŸããèšäºãå ¬éãããæ°ãããããã³ã«ã®å®è£ ããã»ã¹ã詳现ã«èª¬æãããŸããã
HTTP / 2ã®äž»ãªæ©èœã¯SPDYã«äŒŒãŠããŸãïŒ
- HTTP / 2ã¯ããã¹ããããã³ã«ã§ã¯ãªããã€ããªã§ãããããããã³ã³ãã¯ãã§å¹ççã§ãã
- HTTP / 2ã§ã¯ãåäžã®ãã¡ã€ã«ãä»ããŠéä¿¡ããè€æ°ã®æ¥ç¶ã®ä»£ããã«ããã¹ããžã®1ã€ã®å€éåæ¥ç¶ã®ã¿ã䜿çšãããŸãã
- HTTP / 2ã¯ãSPDYã§äœ¿çšãããŠããgzipã®ä»£ããã«ãç¹æ®ãªHPACKãããã³ã«ã«ããããããŒå§çž®ã䜿çšããŸãã
- HTTP / 2ã¯æŽç·Žãããåªå é äœä»ãã¡ã«ããºã ã䜿çšããŠãæåã«ãã©ãŠã¶ãŒã«æãå¿ èŠãªãã¡ã€ã«ãæäŸããŸãïŒSPDYã¯ããåçŽãªã¢ã«ãŽãªãºã ã䜿çšããŸããïŒã
次ã«ãæ°ãããããã³ã«ã®æ©èœãããã«æ·±ãæ€èšãããã詳现ã«æ€èšããå¿ èŠããããŸãã ãã®èšäºã¯ãHTTP / 2ãžã®åãæ¿ãã決å®ããã®ã«åœ¹ç«ã€ããã«æžãããŠããããããã³ã«ãå®è£ ããéã«å¯èœãªæé©åã«ã€ããŠãèæ ®ããŠããŸãã
以äžã¯ãHTTP / 2ãå®è£ ããããã®7ã€ã®ãã³ãã®ãªã¹ãã§ãã
- HTTP / 2ãå®è£ ããå¿ èŠæ§ãè©äŸ¡ãã
- HTTPã®çµäº/ 2
- SPDYã䜿ãå§ãã
- HTTP / 1.xæé©åã®æåŠ
- HTTP / 2ãŸãã¯SPDYããããã€ããŸã
- HTTP / 1.xæé©åã®æ¹èš
- ãã¬ã³ããªãŒãªHTTP / 2ã·ã£ãŒãã£ã³ã°ã衚瀺
泚ïŒå³å¯ã«èšãã°ãTLSã¯SPDYãšHTTP / 2ã䜿çšããå¿ èŠã¯ãããŸããããäž»ãªå©ç¹ã¯SSL / TLSãæå¹ã«ãªã£ãŠããããšã§ãããããã£ãŠããã©ãŠã¶ãŒã¯SSL / TLSã䜿çšå¯èœãªå Žåã«ã®ã¿SPDYãšHTTP / 2ããµããŒãããŸãã
HTTP / 2ãå®è£ ããå¿ èŠæ§ãè©äŸ¡ãã
HTTP / 2ã®å®è£ ã¯ç°¡åã§ãããã»ã¹ã¯ããã§è©³çŽ°ã«èª¬æãããŸã ã ãã ããHTTP / 2ã¯æ®éçãªãœãªã¥ãŒã·ã§ã³ã§ã¯ãªãããšãç解ãã䟡å€ããããŸããäžéšã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯æçšã§ãããä»ã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯æçšã§ã¯ãããŸããã
ããšãã°ãé«ã確çã§ãHTTP / 2ã¯æ¢ã«SSL / TLSã䜿çšããŠãããµã€ãïŒä»¥éãTLSã®ç¥èªãšåŒã³ãŸãïŒãé«éåããŸãããã以å€ã®å Žåã¯ãHTTP / 2ãæå¹ã«ããåã«TLSãæå¹ã«ããå¿ èŠããããŸãã TLSã䜿çšãããšãããã©ãŒãã³ã¹ãäœäžããå¯èœæ§ãããããšã«æ³šæããŠãã ãããTLSã䜿çšãããšãHTTP / 2ããã®å éãç¡å¹ã«ãªãå ŽåããããŸãã ãããã£ãŠãæåã«ãã®ã±ãŒã¹ã確èªããå¿ èŠããããŸãã
HTTP / 2ã䜿çšãã5ã€ã®éèŠãªæœåšçãªå©ç¹ã¯æ¬¡ã®ãšããã§ãã
- 1ã€ã®ãã¡ã€ã«ãéä¿¡ããå€ãã®æ¥ç¶ã®ä»£ããã«ããµãŒããŒãžã®1ã€ã®æ¥ç¶ã®ã¿ã䜿çšãããŸãã ã€ãŸããæ¥ç¶æ°ãåæžãããŸããããã¯ãTLSã䜿çšããå Žåã«ç¹ã«äŸ¿å©ã§ãã
- TLSã®å¹æçãªäœ¿çšã HTTP / 2ã¯1ã€ã®TLSãã³ãã·ã§ã€ã¯ã®ã¿ãè¡ããå€éåã«ãããã®æ¥ç¶ãå¹æçã«äœ¿çšã§ããŸãã HTTP / 2ã¯ããããŒããŒã¿ãå§çž®ããHTTP / 1.xã®æé©åïŒãã¡ã€ã«ã®é£çµãªã©ïŒãæé€ããããšã§ããã£ãã·ã³ã°ã¢ã«ãŽãªãºã ãããå¹ççã«æ©èœãããããšãã§ããŸãã
- Webã¢ããªã±ãŒã·ã§ã³ãç°¡çŽ åããŸãã HTTP / 2ã䜿çšããå ŽåãHTTP / 1.xã®æé©åãåãé€ãããšãã§ããŸããããã«ãããéçºè ã®äžäŸ¿ãããªããªããŸãã
- è€éãªWebããŒãžã«æé©ã§ãã HTTP / 2ã¯ãHTMLãCSSãJavaScriptãåçããããªãåæã«äœ¿çšããWebããŒãžã«æé©ã§ãã ãã©ãŠã¶ã¯ãããŒãžã®æãå¿ èŠãªéšåãæåã«éä¿¡ãããããã«ããã¡ã€ã«èŠæ±ã«åªå é äœãä»ããããšãã§ããŸãã
- æ¥ç¶ã»ãã¥ãªãã£ã HTTP / 2ã䜿çšãããšãTLSã䜿çšããããã«ããã©ãŒãã³ã¹ãäœäžããå¯èœæ§ããããŸãããåæã«ãTLSã¯Webã¢ããªã±ãŒã·ã§ã³ããŠãŒã¶ãŒã«ãšã£ãŠããå®å šã«ããŸãã
çºçããå¯èœæ§ã®ãã5ã€ã®å¯Ÿå¿ããæ¬ ç¹ïŒ
- 1ã€ã®æ¥ç¶ã«é«ãã³ã¹ãã HPACKããŒã¿å§çž®ã¢ã«ãŽãªãºã ã§ã¯ã䞡端ã§å€æããŒãã«ã®ãµããŒããå¿ èŠã§ãã ãŸãã1ã€ã®æ¥ç¶ã«ããå€ãã®ã¡ã¢ãªãå¿ èŠã§ãã
- ãããããTLSã®äœ¿çšã¯åé·ã§ãã éä¿¡ãããæ å ±ãä¿è·ããå¿ èŠããªãããDRMïŒãŸãã¯ãã®ä»ã®æå·åïŒã䜿çšããŠãã§ã«ä¿è·ãããŠããå ŽåãTLSã¯æçšã§ã¯ãããŸããã
- è¿œå ã®äœæ¥ã§ããHTTP / 2ã®ããã©ãŒãã³ã¹ãåäžãããã«ã¯ãæ¢åã®HTTP / 1.xæé©åãèŠã€ããŠåé€ããå¿ èŠããããŸãã
- 倧ããªãã¡ã€ã«ãããŠã³ããŒãããå Žåãå©ç¹ã¯ãããŸããã Webã¢ããªã±ãŒã·ã§ã³ãäž»ã«å€§ããªãã¡ã€ã«ãŸãã¯ãããªã¹ããªãŒãã³ã°ãããŠã³ããŒãããããã«èšèšãããŠããå ŽåãTLSã®äœ¿çšã¯ééã£ãŠããå¯èœæ§ãé«ããå€éåã«ããã¡ãªããã¯ãããŸããã
- ã»ãã¥ãªãã£ã¯éèŠã§ã¯ãããŸããã 蚪åè ã¯ããµã€ãã§å ±æããã·ãŒã«ä»ãã®ãããªãTLSãšHTTP / 2ïŒããã¯æ¬åœãããããŸããïŒã§ä¿è·ãããŠããªãããšãæ°ã«ããªããããããŸããã
ããã¯ãã¹ãŠããã©ãŒãã³ã¹ã«åž°çããè¯ããã¥ãŒã¹ãšæªããã¥ãŒã¹ããããŸãã
è¯ããã¥ãŒã¹ã¯ãNGINXã§è¡ããããã¹ãã«åºã¥ããŠãçè«ã«ãã£ãŠäºæž¬ãããçµæãç¶ãããšã§ãïŒå žåçãªã¬ã€ãã³ã·ã§èŠæ±ãããè€éãªWebããŒãžã®å ŽåãHTTP / 2ã®ããã©ãŒãã³ã¹ã¯HTTP / 1.xããã³HTTPSãããé«ããªããŸãã çµæã¯ãäžè¬çãªåŸåŸ©æéïŒRTTïŒã«å¿ããŠ3ã€ã®ã°ã«ãŒãã«åããããŸãã
- éåžžã«äœãRTTïŒ0ã20ããªç§ïŒïŒHTTP / 1.xãHTTP / 2ãããã³HTTPSã®éã«å®è³ªçã«éãã¯ãããŸããã
- äžïŒã€ã³ã¿ãŒãããã§äžè¬çïŒRTTïŒ30ã250ããªç§ïŒïŒHTTP / 2ã¯HTTP / 1.xãããé«éã§ãäž¡æ¹ãšãHTTPSãããé«éã§ãã ç±³åœã®è¿é£éœåžã®å ŽåãRTTã¯çŽ30ããªç§ã§ãäžæ¹ã®æµ·å²žããããäžæ¹ã®æµ·å²žãŸã§ã¯çŽ70ããªç§ïŒçŽ3,000ãã€ã«ïŒã§ãã æ±äº¬ãšãã³ãã³éã®æçã«ãŒãã®1ã€ã§ãRTTã¯çŽ240ããªç§ã§ãã
- é«ãRTTïŒ300ããªç§ä»¥äžïŒïŒHTTP / 1.xã¯HTTP / 2ãããé«éã§ãHTTP / 2ã¯HTTPSãããé«éã§ãã
ãã®å³ã¯ãã¬ã³ããªã³ã°ã®éå§åã®æéãã€ãŸãããŠãŒã¶ãŒãWebããŒãžã®æåã®ã³ã³ãã³ããèŠãç¬éãŸã§ã®æéã瀺ããŠããŸãã ãã®æéã¯ããŠãŒã¶ãŒãWebãµã€ãã®å¿çæ§ãèªèããããã«éèŠã§ãããšèŠãªãããããšããããããŸãã
ãã¹ãããã»ã¹ãšçµæã®è©³çŽ°ã«ã€ããŠã¯ãnginx.conf 2015ã«ã³ãã¡ã¬ã³ã¹ã®ãã¬ãŒã³ããŒã·ã§ã³ãã芧ãã ããã
ãã ãããã¹ãŠã®WebããŒãžãšãŠãŒã¶ãŒã»ãã·ã§ã³ã¯äºãã«ç°ãªããŸãã ããšãã°ããããªã¹ããªãŒãã³ã°ãŸãã¯å€§éã®ããŠã³ããŒããããå Žåãçµæã¯ç°ãªãå ŽåããããŸãã
èå¿ãªã®ã¯ãHTTP / 2ã䜿çšããå ŽåããŸãèããããã³ã¹ããšæ倧ã®ã¡ãªãããç解ããå¿ èŠããããšããããšã§ãã ãã®åŸãã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ããã¹ãããŠãããéžæãã䟡å€ããããŸãã
HTTPã®çµäº/ 2
çµäºãšã¯ãã¯ã©ã€ã¢ã³ããæå®ããããããã³ã«ïŒHTTP / 2ãªã©ïŒãä»ããŠãããã·ãµãŒããŒã«æ¥ç¶ã§ãããããã·ãµãŒããŒããµãŒããŒã¢ããªã±ãŒã·ã§ã³ãããŒã¿ããŒã¹ãªã©ã«æ¥ç¶ã§ããããšãæå³ããŸãã å®å šã«ç°ãªããããã³ã«ã䜿çšããŸãïŒäžã®ç»åãåç §ïŒã
å¥ã ã®ãµãŒããŒã䜿çšããå Žåããã«ããµãŒããŒã¢ãŒããã¯ãã£ã«åãæ¿ããããšãå¯èœã«ãªããŸãã ãµãŒããŒãç©ççãä»®æ³çã«å ±æããããšãã AWSãªã©ã®ã¯ã©ãŠãç°å¢ã䜿çšããããšãã§ããŸãã ããã¯ãåäžãµãŒããŒãœãªã¥ãŒã·ã§ã³ãŸãã¯ãµãŒããŒ+ããŒã¿ããŒã¹ã®çµã¿åãããšæ¯èŒããŠã¢ãŒããã¯ãã£ãè€éã«ããŸãããå€ãã®å©ç¹ãæäŸããè² è·ã®é«ããµã€ãã«ã¯å¿ èŠã§ãã
ç©çãµãŒããŒãŸãã¯ä»®æ³ãµãŒããŒãæ¢åã®ã·ã¹ãã ã®åã«ã€ã³ã¹ããŒã«ãããšãè¿œå æ©èœãå©çšå¯èœã«ãªããŸãã æ°ãããµãŒããŒã¯ãã¯ã©ã€ã¢ã³ãã¡ãã»ãŒãžã®åŠçããä»ã®ãµãŒããŒããªãããŒãããŸãã ããã«ãããŒããã©ã³ã·ã³ã°ãéçãã¡ã€ã«ãã£ãã·ã³ã°ãããã³ãã®ä»ã®ç®çã«ã䜿çšã§ããŸãã å¿ èŠã«å¿ããŠããµãŒããŒã¢ããªã±ãŒã·ã§ã³ãä»ã®ãµãŒããŒãè¿œå ããã³äº€æããããšãã¯ããã«ç°¡åã«ãªã£ãŠããŸãã
NGINXããã³NGINX Plusã¯ãããããã¹ãŠã®ç®çïŒTLSããã³HTTP / 2çµäºãè² è·åæ£ãªã©ïŒã«ãã䜿çšãããŸãã æ¢åã®ç°å¢ã§ã¯ããŠãŒã¶ãŒãNGINXãµãŒããŒãšå¯Ÿè©±ããéšåãé€ããŠãå€æŽã¯å¿ èŠãããŸããã
SPDYã䜿ãå§ãã
SPDYã¯HTTP / 2ã®å é§ãã§ããããã®ããã©ãŒãã³ã¹ã¯HTTP / 2ã«å¹æµããŸãã SPDYã¯æ°å¹ŽåããååšããŠãããããæ¯èŒçæè¿ç»å ŽããHTTP / 2ãšã¯ç°ãªãããã¹ãŠã®äžè¬çãªãã©ãŠã¶ãŒã§ãµããŒããããŠã ãŸã ã ãã ããå·çæç¹ã§ã¯ãã®ã£ããã¯çž®å°ããŠããããã©ãŠã¶ã®60ïŒ ä»¥äžãæ¢ã«HTTP / 2ããµããŒãããŠããŸãããSPDYã¯80ïŒ ä»¥äžããµããŒãããŠããŸãã
æ°ãããã©ã³ã¹ããŒããããã³ã«ãå®è£ ããç·æ¥ã®å¿ èŠæ§ãããããŠãŒã¶ãŒéã§æ倧éã®ãµããŒããåãããããã³ã«ã䜿çšããå Žåã¯ãSPDYããéå§ããå¿ èŠããããŸãã ãã®åŸã2016幎ã®åãã«ãSPDYãµããŒããåé€ããããšãã«ãHTTP / 2ã«åãæ¿ããŸãã ãã®æç¹ã§ãããå€ãã®ãŠãŒã¶ãŒãHTTP / 2ããµããŒããããã©ãŠã¶ãŒã䜿çšããããããã®ç§»è¡ã¯ã»ãšãã©ã®ãŠãŒã¶ãŒã®èŠ³ç¹ããæé©ãªå ŽåããããŸãã
HTTP / 1.xæé©åã®æåŠ
HTTP / 2ãå®è£ ããåã«ãHTTP / 1.xã®æé©åãèå¥ããå¿ èŠããããŸãã 次ã®4çš®é¡ã®æé©åãæ€èšãã䟡å€ããããŸãã
- ã·ã£ãŒãã£ã³ã°ã ãã©ãŠã¶ãžã®äžŠå転éã®ããã«ãç°ãªããã¡ã€ã³ã«ãã¡ã€ã«ãé 眮ããŸãã ã³ã³ãã³ãé ä¿¡ãããã¯ãŒã¯ïŒCDNïŒã¯ãããèªåçã«è¡ããŸãã ãã®ãããªæé©åã«ãããHTTP / 2ã®ããã©ãŒãã³ã¹ãæãªãããå¯èœæ§ããããŸãã HTTP / 1.xãŠãŒã¶ãŒã«å¯ŸããŠHTTP / 2ãã¬ã³ããªãŒã·ã£ãŒãã£ã³ã°ã䜿çšã§ããŸãïŒHTTP / 2ãã¬ã³ããªãŒã·ã£ãŒãã£ã³ã°ãåç §ïŒã
- ã¹ãã©ã€ãã䜿çšããŸãã ã¹ãã©ã€ãã¯ãåäžã®ãã¡ã€ã«ãšããŠéä¿¡ãããç»åã®ã³ã¬ã¯ã·ã§ã³ã§ãã ãã®åŸãã¯ã©ã€ã¢ã³ãåŽã§ãå¿ èŠã«å¿ããŠã³ã¬ã¯ã·ã§ã³ããåçãååŸãããŸãã HTTP / 2ã䜿çšããå Žåããã®æé©åã¯ããŸãå¹ççã§ã¯ãããŸããããäŸç¶ãšããŠæçšã§ãã
- ãã¡ã€ã«ã®ããŒãžã ã¹ãã©ã€ãã®ããã«ãéåžžå¥ã ã«ä¿åãããŠãããã¡ã€ã«ã®äžéšã¯ã1ã€ã«ããŒãžãããŸãã ãã®åŸããã©ãŠã¶ã¯å¿ èŠã«å¿ããŠæ¥çããããã¡ã€ã«å ã§ã³ãŒããèŠã€ããŠå®è¡ããŸãã
- ãã¡ã€ã«ã®åã蟌ã¿ã CSSãJavaScriptãããã«ã¯ç»åãHTMLãã¡ã€ã«ã«çŽæ¥æ¿å ¥ãããŸããããã«ããããœãŒã¹HTMLãã¡ã€ã«ãå¢å ããããã転éããããã¡ã€ã«ã®æ°ãæžå°ããŸãã
å°ããªãã¡ã€ã«ã倧ããªãã¡ã€ã«ã«çµåããæ°ããæ¥ç¶ãæžãããè¿œå ã®æ¥ç¶ãåæåããããã®æåŸã®3çš®é¡ã®æé©åã¯ãTLSã䜿çšããå Žåã«ç¹ã«éèŠã§ãã
æåã®æé©åã§ããã·ã£ãŒãã£ã³ã°ã¯ç°ãªãåäœãããŸã-è¿œå ã®ãã¡ã€ã³ã䜿çšããŠããå€ãã®æ¥ç¶ãéãããã«åŒ·å¶ããŸãã åæã«ããããã®äžèŠççŸããæ¹æ³ã¯ãHTTP / 1.xãµã€ãã®ããã©ãŒãã³ã¹ãæ¹åããã®ã«éåžžã«å¹æçã§ãã ãã ãã圌ãã¯ãã¹ãŠãäœæ¥ã®éçºãå®è£ ã管çãããã³ä¿å®ã«æéãåŽåãããã³ãªãœãŒã¹ãè²»ãããŠããŸãã
HTTP / 2ãå®è£ ããåã«ããããã®æé©åãèŠã€ããããããçŸåšã¢ããªã±ãŒã·ã§ã³ã®èšèšãšã¯ãŒã¯ãããŒã«ã©ã®ããã«åœ±é¿ãããã調ã¹ãå¿ èŠããããŸãã ããã¯ãHTTP / 2ã«ç§»è¡ããåŸã«ãããã®æé©åãå€æŽãŸãã¯ãã£ã³ã»ã«ã§ããããã«ããããã«å®è¡ããå¿ èŠããããŸãã
HTTP / 2ãŸãã¯SPDYããããã€ããŸã
å®éãHTTP / 2ãŸãã¯SPDYãžã®åãæ¿ãã¯éåžžã«ç°¡åã§ãã NGINXãŠãŒã¶ãŒã®å Žåã ããã§äŸãšããŠHTTP / 2ã䜿çšããŠèª¬æããããã«ãNGINXæ§æã§ãããã³ã«ããæå¹ã«ãããå¿ èŠããããŸãã ãã®åŸããµãŒããŒã¯HTTP / 2ãŸãã¯SPDYã䜿çšããå¯èœæ§ã«ã€ããŠã¯ã©ã€ã¢ã³ããã©ãŠã¶ã«éç¥ããŸãã
ãµãŒããŒã§HTTP / 2ãæå¹ã«ãããšããã©ãŠã¶ãŒãHTTP / 2ããµããŒããããŠãŒã¶ãŒã¯ãHTTP / 2ãä»ããŠWebã¢ããªã±ãŒã·ã§ã³ã«æ¥ç¶ããŠäœæ¥ããŸãã ãã©ãŠã¶ãŒã®å€ãããŒãžã§ã³ã䜿çšããŠãããŠãŒã¶ãŒã¯ãHTTP / 1.xã䜿çšããå¿ èŠããããŸãïŒäžå³ãåç §ïŒã è² è·ã®é«ããµã€ãã«HTTP / 2ãŸãã¯SPDYãå®è£ ããå Žåãããã©ãŒãã³ã¹ã®ååŸã枬å®ããæªåœ±é¿ãçããå Žåã¯å€æŽãããŒã«ããã¯ããå¿ èŠããããŸãã
泚ïŒHTTP / 2ã¯åäžã®æ¥ç¶ã䜿çšãããããNGINXã®äžéšã®æ§æèšå®ã¯ããéèŠã«ãªããŸãã output_buffersãproxy_buffersãssl_buffer_sizeãªã©ã®ãã£ã¬ã¯ãã£ãã®ãã©ã¡ãŒã¿ãŒã®èšå®ãšãã¹ãã«ç¹ã«æ³šæããŠNGINXæ§æã確èªããããšããå§ãããŸãã äžè¬çãªèšå®ã«é¢ãã泚æäºé ãç¹å®ã®TLSã®ãã³ãïŒ ãããšãã ïŒãããã³TLSã䜿çšããå Žåã®NGINXã®ããã©ãŒãã³ã¹ã«é¢ããèšäºã«æ³šæããå¿ èŠããããŸãã
泚ïŒHTTP / 2ã§æå·ã䜿çšããå Žåã次ã®ããšã«æ³šæããå¿ èŠããããŸããHTTP/ 2ã®RFCã«ã¯ãåé¿ãã¹ãæå·ã®é·ããªã¹ãããããŸãã æå·ã®ãªã¹ããèªåã§æ§æããå Žåããã®å Žåã ssl_ciphersãèšå®ãã ssl_prefer_server_ciphersãæå¹ã«ããããšãæ€èšããŠããããã©ãŠã¶ã®ãã¹ãŠã®äžè¬çãªããŒãžã§ã³ã§é©åãªæå·ããã¹ãããããšããå§ãããŸãã 人æ°ã®ããQualysã®SSLãµãŒããŒãã¹ããã©ãŠã¶ãŒã®ã€ã³ãžã±ãŒã¿ãŒïŒ2015幎11æçŸåšïŒ ã¯ãHTTP / 2ãã³ãã·ã§ã€ã¯ã®ã«ãŠã³ãã«ã¯ä¿¡é Œæ§ããªããšèããããŠããŸã ã
HTTP / 1.xæé©åã®æ¹èš
ããã¯é©ãããšã§ã¯ãããŸããããHTTP / 1.xã®æé©åãåé€ãŸãã¯å€æŽããããšã¯ãHTTP / 2ãå®è£ ããäžã§æãåµé çãªéšåã§ãã èæ ®ãã¹ãããã€ãã®åé¡ããããŸãã
å€æŽãè¡ãåã«ã圱é¿ãåããå¯èœæ§ã®ããå€ããã©ãŠã¶ã®ãŠãŒã¶ãŒãèæ ®ããå¿ èŠããããŸãã ããã念é ã«çœ®ããŠãHTTP / 1.xã®æé©åããã£ã³ã»ã«ãŸãã¯ä¿®æ£ããããã®3ã€ã®äž»ãªæŠç¥ããããŸãã
- ãã¹ãŠæºåå®äºã§ãã ã¢ããªã±ãŒã·ã§ã³ãHTTP / 1.xåãã«æé©åãããŠããªãå ŽåããŸãã¯ãã€ããŒãªå€æŽãè¡ãããŠããå Žåããã¹ãŠãHTTP / 2ã䜿çšããæºåãã§ããŠããŸãã
- æ··åã¢ãããŒãã ããŒã¿ã®é£çµãæžããããšã¯ã§ããŸãããå®å šã«æé€ããããšã¯ã§ããŸããã ããšãã°ãHTMLã«åã蟌ãŸããããŒã¿ãåé€ãããšåæã«ãäžéšã®ç»åã¹ãã©ã€ããæ®ãå ŽåããããŸãã
- HTTP / 1.xæé©åã®å®å šãªæåŠïŒãã ãããã¬ã³ããªãŒãªHTTP / 2ã·ã£ãŒãã£ã³ã°ãšã¡ã¢ãåç §ïŒã æé©åãå®å šã«åãé€ãããšãã§ããŸãã
ãã£ãã·ã³ã°ã«ã¯ããã€ãã®æ©èœããããŸãã çè«çã«ã¯ããã£ãã·ã³ã°ã¯å€ãã®å°ããªãã¡ã€ã«ã«é©çšããããšå¹æçã«æ©èœããŸãã ãã ãããã®å Žåãå€æ°ã®I / Oæäœãå®è¡ãããŸãã ãããã£ãŠãé¢é£ãã¡ã€ã«ãçµåãããšãã¯ãŒã¯ãããŒãšã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã®äž¡æ¹ã«åœ¹ç«ã¡ãŸãã
ãã¬ã³ããªãŒãªHTTP / 2ã·ã£ãŒãã£ã³ã°ã衚瀺
ã·ã£ãŒãã£ã³ã°ã¯ããããæãå°é£ã§ãããšåæã«ãããããæãæåããHTTP / 1.xæé©åæŠç¥ã§ãã ã·ã£ãŒãã£ã³ã°ã¯HTTP / 1.xã®ããã©ãŒãã³ã¹ãæ¹åããããã«äœ¿çšã§ããŸãããHTTP / 2ïŒ1ã€ã®æ¥ç¶ã®ã¿ã䜿çšããïŒã®å Žåãã»ãšãã©ç¡èŠãããŸãã
HTTP / 2ãšçµã¿åãããã·ã£ãŒãã£ã³ã°ã䜿çšããã«ã¯ã次ã®2ã€ã®ããšãè¡ãå¿ èŠããããŸãã
- ã·ã£ãŒãã£ã³ã°ãªãœãŒã¹ã®ãã¡ã€ã³åãåãIPã¢ãã¬ã¹ã«è§£æ±ºããŸãã
- ã¯ã€ã«ãã«ãŒã蚌ææžã䜿çšãããŠããããšã確èªããŠãã ãã-ãã®å Žåãã·ã£ãŒãã£ã³ã°ã§äœ¿çšããããã¹ãŠã®ãã¡ã€ã³åã«å¯ŸããŠæå¹ã§ãã ãŸãã¯ãé©åãªãã«ããã¡ã€ã³èšŒææžãããããšã確èªããŠãã ããã
詳现ãªæ å ±ã¯ãã¡ããã芧ãã ãã ã
ãããã®æ¡ä»¶äžã§ã¯ãHTTP / 1.xã§ã·ã£ãŒãã£ã³ã°ãçºçããŸã-ãã¡ã€ã³ãç°ãªãããããã©ãŠã¶ãŒã¯è¿œå ã®æ¥ç¶ã»ãããäœæã§ããŸã-åã ã®ãã¡ã€ã³ã¯1ã€ãšèŠãªãããæ¥ç¶ã«ã¢ã¯ã»ã¹ã§ãããããHTTP / 2ã§ã¯çºçããŸãããããã®ããããã«ã
ãããã«
ãããããTLSã䜿çšããHTTP / 2ã¯ããµã€ãã®ããã©ãŒãã³ã¹ãåäžããããŠãŒã¶ãŒãæ¥ç¶ãå®å šã§ããããšã確èªã§ããããã«ããŸãã ããã«ãHTTP / 2ãµããŒãã®å°å ¥ã¯ãå€ãã®å Žåãå€ãã®åŽåãå¿ èŠãšããŸããã
äžèšã®ãã³ãã¯ãæå°éã®åŽåã§æé«ã®HTTP / 2ããã©ãŒãã³ã¹ãéæããã®ã«åœ¹ç«ã¡ãæ®ãã®æéãé«éã§å¹ççã§å®å šãªã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ã«å ãŠãããšãã§ããŸãã