1. Copyright (C) 2016 DeNA Co.,Ltd. All Rights Reserved. ã¦ã§ããéãããããã« DeNAããã£ã¦ããã㨠HTTP/2ã¨ãããã«ãã®å DeNA Co., Ltd. Kazuho Oku 1
Webãµã¼ãã¹äºæ¥è ã¨ãã¦åãå è¡ãã¦èª¿æ»ãããç 究ã»éçºãã¦ããæè¡ã®ä¸ã§ãWebãµã¼ãè¨å®ã«ãããHTTP/2ã¨ãã®mrubyæ´»ç¨ã«ã¤ãã¦ããPFSï¼Perfect Foward Secrecyï¼ãèæ ®ããTLSè¨å®ã¨å¤§é証ææ¸è¨å®ã®å¹çåã«ã¤ãã¦ã社å ã®ã¤ã³ãã©ã¨ã³ã¸ãã¢åãã«æè¡å ±æãè¡ãã¾ããã å 容ã¨ãã¦ã¯ãã¾ãã¯ãã£ããã¨ç¥ã£ã¦ãããäºãç®çã«ãç´°ããè¦ç´ æè¡ã«ã¤ãã¦æ·±ãç«ã¡å ¥ãéããªãç¨åº¦ã«ãä»å¾å¼ç¤¾ã§ã®Webãµã¼ãã¹ã®ã¤ã³ãã©æè¡å¨ãã®ã¢ã¼ããã¯ãã£ãèããä¸ã§å¿ è¦ã«ãªããããªäºãä¸å¿ã«ã話ãã¾ããã®ã§ãå°ãæ±ç¨æ§ã«æ¬ ããããããã¾ããã ç¹ã«æè¡çã«è¦ããããªããããªè©±ã§ã¯ãªãã®ã§ãåèç¨åº¦ã«å ¬éãã¦ããã¾ããã©ããã§åã£ã¦æ¬²ããã¿ãããªä¾é ¼ã¯éæåãä»ãã¦ããã¾ãã®ã§ããæ°è»½ã«ãåãåããä¸ããã 以ä¸ã®äºæ¬ç«ã¦ã§ãã HTTP/2ã¨mrubyã®æ´»ç¨ HTTP/2æ代
è¿ãå°æ¥WebSocketãRailsã§ä½¿ç¨ã§ããããã«ãªãã¨èãã¨ããããããã¯ã¿ããªèãä¸ãã£ã¦è奮ãã¾ãã ãããã ããªãã®ã¦ã¼ã¶ã¯ãããªããWebSocketã使ç¨ãã¦ãããã©ãããªãã¦æ°ã«ãã¾ãã ã ã¦ã¼ã¶ã¯ãâå¿«é©ãªãªã¢ã«ã¿ã¤ã Webã¢ããªâãæ±ãã¦ããã ãããããã¯ãâå¿«é©ã§ãã«ããç°¡åãªãªã¢ã«ã¿ã¤ã Webã¢ããªâãæ±ãã¦ããã ãªãã¬ã¼ã·ã§ã³ã¯ãâãããã¤ãã¹ã±ã¼ã«ã管çãç°¡åãªãªã¢ã«ã¿ã¤ã Webã¢ããªâãæ±ãã¦ããã ä¸è¨å ¨ã¦ã®è¦æãWebSocketãããªãã¦ãããã®ãªãç´ æ´ããããã¨ã§ããããã®å®è£ ã®è©³ç´°ã¯é«ãã³ã¹ãããããã¾ãã è¶ é«æ§è½ã§å ¨äºéãªã¯ã©ã¤ã¢ã³ãã¨ãµã¼ãéã®éä¿¡ã¯ãæ¬å½ã«ç§ãã¡ã«å¿ è¦ãªã®ãï¼ WebSocketã¯ãã¯ã©ã¤ã¢ã³ãã«æ å ±ãé ä¿¡ããããã®ç°¡åãªAPIã¨ãã¯ã©ã¤ã¢ã³ãããWebãµã¼ãã¸æ å ±ãéä¿¡ããããã®ç°¡åãªAPIãæä¾ãã¾ãã ãµã¼ã
ãã®è¨äºã¯ Perl Advent Calendar 2015 ã® 11 æ¥ç®ã®è¨äºã§ãã æ¨æ¥ã®è¨äºã¯ mackee_w ããã®ããã©ã¤ã PSGI ã¢ããªã±ã¼ã·ã§ã³ã®æ¦å¿µã¨å®è¨¼ãã§ããã ä»å¹´ 2015 å¹´ã¯ãHTTP/2 ã® RFC ãåºã¾ããããã¨ãããã㧠HTTP/2 ã®è©±ããã¾ãã以å Gotanda.pm #4 ã«ã¦ãPerl ã® HTTP/2 äºæ ãã¨ããã¿ã¤ãã«ã§çºè¡¨ããã®ã§ãããããã¨ã ãããä¸ç·ã§ãï¼è¨äºæ¸ãã¦ãªãã£ãã®ã§â¦ï¼ã HTTP/2 ã®åè¨èªå®è£ 㯠https://github.com/http2/http2-spec/wiki/Implementations ã«ã¾ã¨ã¾ã£ã¦ããã®ã§ããããããè¦ã㨠Perl ã«ã¯ Protocol::HTTP2 / http2-perl ã¨ããå®è£ ãããããã§ãããã http2-perl 㯠h2-04 æºæ ãªã®ã§ O
http2 in Go 1.6; dotGo 2015 - Google ã¹ã©ã¤ã 2015å¹´ã®5æã«RFCãåºãã°ããã®HTTP2ã2016å¹´ã®2æã«ãªãªã¼ã¹äºå®ã®Go1.6ã§æ©ããå©ç¨å¯è½ã«ãªããã¨ã«ãªã£ã¦ããï¼HTTP2ã®åå¼·ãå ¼ãã¦Goè¨èªã«ãããHTTP2å®è£ ã追ã£ã¦ã¿ãï¼ ä»¥ä¸ã§ã¯ã¾ãå®éã«HTTP2ãµã¼ããåããChromeã§æ¥ç¶ãã¦ã¿ãï¼æ¬¡ã«ç¾ç¶ã³ã¼ããã©ã®ããã«ç®¡çããã¦ãããã追ãï¼æå¾ã«å®éã«ã³ã¼ããåãããªããHTTP2ã®å種æ©è½ã追ãï¼ãªãåç §ããã³ã¼ãã¯ãã¹ã¦ä»¥ä¸ã®ãã¼ã¸ã§ã³ãå©ç¨ãã¦ããï¼ã¾ã WIPãªã®ã§ã³ã¼ããªã©ã¯ä»å¾å¤ããå¯è½æ§ãããã®ã§æ³¨æï¼ï¼ HTTP2ã¨ã¯? HTTP/2ã«é¢ãã¦ã¯ã¹ã©ã¤ããããã°è¨äºï¼Podcastãªã©é常ã«è±å¯ãªæ å ±ãã¤ã³ã¿ã¼ãããä¸ã«åå¨ããï¼ããããHTTP2ã¨ã¯ä½ã?ãªãå¿ è¦ãªã®ã?ãªã©ãç解ãããå ´åã¯åèã«æããè¨äºãªã©
9. â¡ ãã¤ããªã¡ãã»ã¼ã¸ ãªã¯ã¨ã¹ãã®HEADERSãã¬ã¼ã ã 00 00 26 01 25 00 00 00 0d 00 00 00 0b 0f 82 84 87 41 8b 0b e2 5c 2e 3c b8 5b 7d 70 b2 cf 53 03 2a 2f 2a 90 7a 89 aa 69 d2 9a c4 c0 57 02 e0 ç·ç®æã®3byteã00 00 26ãããã¬ã¼ã ãµã¤ãºã§38byteï¼0x26ï¼ æåã®9byteï¼åºå®é·ï¼ã¯ããã¬ã¼ã ãããã éç®æã®ã01ãããã¬ã¼ã ã¿ã¤ãã表ãã¦ããã0x01ã¯HEADERSãã¬ã¼ã ã é»è²ç®æã®ã25ãã¯Flagã§è©³ç´°ã¯RFC7540ã¸ã è¶è²ç®æã®4byteï¼æ£ç¢ºã«ã¯31bitåï¼ã¯Stream IDã§ããã®å ´åã¯13ã 10. â¡ ãã¤ããªã¡ãã»ã¼ã¸ ãªã¯ã¨ã¹ãã®HEADERSãã¬ã¼ã ãã¤ãã¼ãï¼èµ¤ç®æï¼ 00 0
ã¾ã㯠Disclaimerã ãããã¾ã§ãå人ã®ææ³ã§ãããHTTP/2ã®å¹è½ãä¿è¨¼ãããã®ã§ã¯ããã¾ããwã 1. ã¯ããã«ã å æ¥ãHTTP/2, HPACKã®RFC(7540,7541)ãç¡äºçºè¡ããã¾ããã2å¹´ä½ãHTTP/2ã®æ¨æºåæ´»åã«åå ãã¦ããã®ã§ããããããã£ããæã®äºã®ãããªæãããã¾ãã ä»æ¥ãScutumã®éçºãããã¦ããéåºããã®ãHTTP/2ã®RFCãèªãã ææ³ãã®ã¨ã³ããªã¼ãå ¬éãããèªã¾ãã¦é ãã¾ãããä»ååãã¦HTTP/2ã®ä»æ§æ¸ãèªã¾ããææ³ã¨ãããã¨ã§ãé·ããããã£ã¦ããç«å ´ããè¦ãã¨é常ã«æ°é®®ãªå 容ã§ããã å®ã¯ãHTTP/2ãæµè¡ããªããã¨ããææã¯ãï¼å¹´åã»ã©åã«ç§ãåããã¨ãæ¸ãã¦ãã¾ããã HTTP/2.0ããããã�Webãµã¼ãã¹ã®é²å(å¾åï¼ ã¾ããå¶ç¶ãªã®ããããã¾ããããåã Proxy製å vanish varnish *1 ã®é
ã¯ããã« ç§ã¯èªãã串è·äººãã¨åä¹ãã»ã©ã¦ã§ãã®(ã¤ã¾ãHTTPã®ï¼Proxyãµã¼ãã好ãã§ããã10年以ä¸ããããã·ãµã¼ããä½ãç¶ãã¦ãã¾ãããã®ããã°ã®ä¸»é¡ã§ããã¯ã©ã¦ãåWAFãScutumããã®ã²ã¨ã¤ã§ãããããããããã³ã«ã¨ãã¦ã®HTTPã好ãã§ããã¦ã§ãã®è£å´ã«ãã¨ã¦ãã·ã³ãã«ãªãããã¹ããã¼ã¹ã®HTTPãããã³ã«ãæ´»èºãã¦ããã¨ãããã¨ãç§ã®ä¸²è·äººã¨ãã¦ã®åºçºç¹ã§ãã HTTP/2ãåºã å æ¥ãã¤ãã«HTTP/2ãåºã¾ããã æ°å¹´åããããSPDYããªã©ã®ãã¼ã¯ã¼ãã«ä»£è¡¨ããã次ä¸ä»£ã®HTTPã模索ããã¦ãããã¨ã¯ä½ã¨ãªãç¥ã£ã¦ãã¾ããããã©ããGoogleã®ãããªé常ã«å¤§ãããã©ãã£ãã¯ãå¦çãã¦ããçµç¹ã主å°ãã¦ãããã®ã§ãä¸è¬ã®éçºè ãã¦ã§ãã®å©ç¨è ã«ã¨ã£ã¦ããã»ã©é åçãªãã®ã§ã¯ãªãããã ãªãã¨ããå°è±¡ãæ±ãã¦ãã¾ããã ãµã¼ãå´ãä½ã£ã¦ããã®ãGoogleããã©ã¦ã¶
update è²ã 㨠twitter ã§è°è«ãèµ·ãã£ãã®ã§ã¾ã¨ãã¦è²¼ã£ã¦ããã¾ãã togetter.com ã¿ãªãããããã¨ããããã¾ããã intro HTTP2 ã® RFC åãç®åã¨ãããã¨ã§ãããããå®éã« HTTP2 ãå°å ¥ãã¦ããã«ããã£ã¦ãµã¼ããµã¤ãã®æ§æã«ã¤ãã¦ããå ·ä½çã«ã©ãå¤ãã£ã¦ãããã¨ããç¹ãèãå§ãã¦ããå¿ è¦ãããã¾ãã ãããªè©±ã @koichik ããã¨ãã¦ããããè²ã ã¨èããè¨ããã ã®ã§ã¡ã¢ãã¦ããã¾ãã åæ ä»åã¯ãä¸è¦æ¨¡ã®ãµã¼ãã¹ãæ³å®ããç¹ã« HTTP2 ã®ãµã¼ãããã·ã¥ãè¸ã¾ããä¸ã§ã®ã³ã³ãã³ãé ä¿¡ãªã©ã«ãã©ãããæ§æãèããããããèãã¦ããã¾ãã ã¾ããæ¬ã¨ã³ããªå ã§ã¯ç¬èªã«ä»¥ä¸ã®è¡¨è¨ãæ¡ç¨ãã¾ãã HTTP/1.1 = HTTP/1.1 (å¹³æ) HTTP/2 = HTTP/2 (å¹³æ) HTTPS/1.1 = HTTP/1.1 over
2. èªå·±ç´¹ä» ⢠ååï¼ å¤§æ´¥ ç¹æ¨¹ ⢠æå±ï¼ æ ªå¼ä¼ç¤¾ã¤ã³ã¿ã¼ãããã¤ãã·ã¢ãã£ã(IIJ) ã¢ããªã±ã¼ã·ã§ã³éçºé¨ ⢠Twitter: @jovi0608 ⢠ããã°ï¼ ã¼ã¡ã¼ã¡æ¥è¨ http://d.hatena.ne.jp/jovi0608/ ⢠GitHub: https://github.com/shigeki/ ⢠æ°æè¡ã®æ¤è¨¼ã»è©ä¾¡ãè¡ã£ã¦ã¾ãã (Node.js, io.js,SPDY, HTTP/2,HTML5) ⢠iij-http2ã®éçºãéãã¦IETFã®HTTP/2æ¨æºåä½æ¥ã«åç»ä¸ 3. HTTP/2 ã¯RFCåç®åã§ã ⢠HTTP/2 ⢠IESGã¬ãã¥ã¼çµäºãã³ã¡ã³ããåã ã¦ãã©ãããæ¹è¨ããã®å¾æ¿èªè¦è¾¼ ⢠HPACK ⢠IESGæ¿èªæ¸(1/23) çºè¡ããã»ã¹ãé 調ãªãæ¡ãå²ãåã«ã¯RFCåãã Ethernet IP(v4/v6) TCP
Intro ãã®è¨äºã¯ HTTP2 ã¢ããã³ãã«ã¬ã³ãã¼ 24 æ¥ç® ã®è¨äºã§ãã HTTP2Study HTTP2 Study ã¯ã2013å¹´8æãããããå°ããå°ããæ´»åãã¦ããã³ãã¥ããã£ã§ãã HTTP2 ãã¾ã HTTP2.0 ã¨å¼ã°ãã¦ããé ã§ã Draft ã§ãã㨠04 ãããã§ãã(ä»ã¯ 16)ã (ã¡ãªã¿ã«ãç¾å¨ã®ä»æ§ã§ã¯ "HTTP2.0" ã§ã¯ãªã "HTTP/2" ããã㯠"HTTP2" ãæ£ããå称ã§ãã) ä»æ§ãçå®ãã¦ã HTTPbis ã¨ãã¦ã®è°è«ã¯æ¦ãçä»ãã¦ã HTTP2 ã®ä»æ§ã¯ RFC ã«ããããã®æ¬¡ã®ã¹ãããã«ç§»ããããä»æ§ãè¦ããããªå¤§ããªææãç¡ããã°ãæ¥å¹´ã®é ã«ã¯ãã®ã¾ã¾ RFC ã¨ãã¦å ¬éããããããããªãã¨ããã¨ããã¾ã§æ¥ã¾ããã ããã¦ä»æ¥ã¯ãã®ä»æ§çå®ããã£ã¨è¿½ãããã¦ãã HTTP2Study ããã£ã¦ãããã¨ããç°¡åã«ã¾ã¨ãã¦
å®£ä¼ 2015/11 è¿½è¨ ã½ããã¦ã§ã¢ãã¶ã¤ã³ 11æå·ã« HTTP/2ã®ç¹éè¨äºãæ¸ããã¦ããã ãã¾ããããã詳ããæ¸ãã¾ããã®ã§ãæ¬è¨äºããåèã«ãªããã¨æãã¾ãã http://www.amazon.co.jp/dp/B01494YKUI HTTP2ã¯2014å¹´4æã®WG Last Callã«åãã¦ãä»æ§çå®ãé²ãããã¦ããã ç¾å¨ãããã³ãã³ã§è¡ããã¦ããIETFã®ãã¼ãã£ã³ã°ã§ã¯ç±ãè°è«ãè¡ããã¦ããã¨ããã§ãããã (local activityã¨ãã¦æ¥æ¬ã§ã®æ´»åãªã©ãç´¹ä»ããã¦ããããã§ã) HTTP2ã®ä»æ§ã決ãã¦ããHTTPbisã¯ã¼ãã³ã°ã°ã«ã¼ãã®chairã§ããMark Nottinghamæ°ããèªèº«ã®ããã°ã«ã¦ãNine Things to Expect from HTTP/2ãã¨ããè¨äºãæ稿ããã¦ããã ããã§ã¯ãHTTP2ãä½ãããããã以ä¸ã®è¦³ç¹ã§èª¬æãã¦
HTTP 2 æéå®è£ (æå°éã®æ©è½ã§ç´ æ©ãå®è£ )ããããã«å¿ è¦æå°éã®ç¥èãä¼ãã¾ãã HTTP 2 æéå®è£ æ³: https://github.com/http2jp/http2jp.github.io/wiki/HTTP2.0-%E6%9C%80%E9%80%9F%E5%AE%9F%E8%A3%85%E6%B3%95 h2-12 (draft-ietf-httpbis-http2-12) 対å¿ã®ä¿®æ£ããã¾ããã http://tools.ietf.org/html/draft-ietf-httpbis-http2-12Read less
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}