{"id":456,"date":"2019-04-04T15:52:27","date_gmt":"2019-04-04T06:52:27","guid":{"rendered":"https:\/\/porchestra.me\/?p=456"},"modified":"2019-04-04T15:52:27","modified_gmt":"2019-04-04T06:52:27","slug":"http-3-quic","status":"publish","type":"post","link":"https:\/\/blog.neue.nz\/?p=456","title":{"rendered":"HTTP\/3 (HTTP-over-QUIC)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">QUIC\uc740 Quick UDP Internet Connections \uc758 \uc57d\uc790\uc774\uba70, \uc804\uc1a1\uacc4\uce35 \ud504\ub85c\ud1a0\ucf5c\uc778 UDP \ub97c \uae30\ubc18\uc73c\ub85c TCP + TLS + HTTP \uc758 \uae30\ub2a5\uc744 \ubaa8\ub450 \uad6c\ud604\ud558\ub294 \ud504\ub85c\ud1a0\ucf5c\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blog.neue.nz\/wp-content\/uploads\/2019\/04\/http3-1-1.png\" alt=\"\" class=\"wp-image-600\"\/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">QUIC \uc740 &#8220;quick&#8221;\uacfc \ub3d9\uc77c\ud558\uac8c &#8220;\ud035&#8221;\uc73c\ub85c \ubc1c\uc74c\ud569\ub2c8\ub2e4. Google\uc5d0\uc11c 2012\ub144\uc5d0 \ucd5c\ucd08\ub85c \uac1c\ubc1c\ud588\ub294\ub370, \uc5ec\ub2f4\uc774\uc9c0\ub9cc \uad6c\uae00\uc5d0\uc11c \uac1c\ubc1c\ud588\ub358 <a href=\"https:\/\/d2.naver.com\/helloworld\/140351\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"SPDY (opens in a new tab)\">SPDY<\/a> \uae30\uc220\uc774 HTTP\/2\uc758 \uae30\ubc18 \uae30\uc220\uc774\uc5c8\ub294\ub370 \uc5ed\uc2dc \uad6c\uae00\uc5d0\uc11c \uac1c\ubc1c\ud55c QUIC\uc774 HTTP\/3\uc758 \uae30\ubc18 \uae30\uc220\uc774 \ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">gQUIC vs QUIC-over-HTTP<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\ud604\uc7ac\ub294 IETF\uc758 <a rel=\"noreferrer noopener\" aria-label=\"quicwg (opens in a new tab)\" href=\"https:\/\/github.com\/quicwg\" target=\"_blank\">quicwg<\/a>\uc5d0\uc11c \uad00\ub9ac\ud558\ub294 QUIC-over-HTTP \uc640 \uad6c\uae00\uc5d0\uc11c \uc790\uccb4 \uac1c\ubc1c\ud55c gQUIC\uc774 \ubd84\ub9ac\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uad6c\uae00\uc758 gQUIC\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \uc554\ud638\ud654 \uae30\uc220\uc740 TLS 1.3\uc774 \uc544\ub2cc \uc790\uccb4 \uc554\ud638\ud654 \uae30\uc220\uc774\ub77c\ub294 \uc810\uc774 \ub2e4\ub978\ub370\uc694, IETF\uc5d0\uc11c \ud45c\uc900\ud654 \uc791\uc5c5\uc774 \uc9c4\ud589\ub418\ub294 \ub3d9\uc548 \uad6c\uae00\uc5d0\uc11c\ub3c4 IETF\uc758 \uc138\ubd80 \uba85\uc138\ub97c \ubc1b\uc544\ub4e4\uc5ec gQUIC\uc744 \ubc1c\uc804\uc2dc\ud0a4\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">QUIC-over-HTTP to HTTP\/3<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">HTTP\/1.1\uc740 1999\ub144\uc5d0 \ubc1c\ud45c\ub418\uace0, HTTP\/2.0\uc774 2015\ub144\uc5d0 \ubc1c\ud45c\ub418\uc5b4 \ud604\uc7ac \ud65c\ubc1c\ud558\uac8c \uc0ac\uc6a9\ub418\uace0 \uc788\ub294\ub370, IETF\uc758 QUIC-over-HTTP \uac00 \uc774\uc81c &#8216;HTTP\/3&#8217;\uc73c\ub85c \uac1c\uba85\ud558\ub294 \uac83\uc73c\ub85c \ud655\uc815\ub418\uc5b4 2019\ub144 \uc548\uc5d0 \ubc1c\ud45c\ub420 \uc608\uc815\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">HTTP\/1.1, HTTP\/2\uc5d0 \uc0ac\uc6a9\ud558\ub294 TCP\uc640 QUIC\uc5d0 \uc0ac\uc6a9\ud558\ub294 UDP\uc758 \uae30\ubcf8\uc801\uc778 \ucc28\uc774\uc810\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<table class=\"wp-block-table\"><tbody><tr><td>TCP<\/td><td>UDP<\/td><\/tr><tr><td>\uc7ac\uc804\uc1a1\uacfc \ud750\ub984\uc81c\uc5b4\/\ud63c\uc7a1\uc81c\uc5b4\ub97c \ud1b5\ud574 \uc2e0\ub8b0\uc131\uc744 \ubcf4\uc7a5<\/td><td>\ud55c\ubc88 \uc804\uc1a1\ud558\uba74 \ub05d\ub098\ub294 \ubc29\uc2dd\uc73c\ub85c \ud074\ub77c\uc774\uc5b8\ud2b8\uc758 \ub370\uc774\ud130 \uc218\uc2e0\uc5d0 \ub300\ud574 \ucc45\uc784\uc744 \uc9c0\uc9c0 \uc54a\uc74c<\/td><\/tr><tr><td>\ubcf5\uc7a1\ud55c \uc5f0\uacb0 \uc124\uc815\uc774 \ud544\uc694\ud568<\/td><td>\uc5f0\uacb0 \uc124\uc815\uc774 \uc5c6\uc74c<\/td><\/tr><tr><td>\uc18d\ub3c4\uac00 \uc0c1\ub300\uc801\uc73c\ub85c \ub290\ub9bc<\/td><td>\uc18d\ub3c4\uac00 \uc0c1\ub300\uc801\uc73c\ub85c \ube60\ub984<\/td><\/tr><\/tbody><\/table>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \ud504\ub85c\ud1a0\ucf5c\uc758 \ucc28\uc774\ub97c \ubcf4\uba74 QUIC\uc758 \ud2b9\uc9d5\uc744 \uc774\ud574\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>QUIC\uc740 TCP + TLS \ubcf4\ub2e4 \ub354 \ube60\ub978 \ud578\ub4dc\uc250\uc774\ud06c\ub97c \uc9c0\uc6d0\ud558\uae30 \ub54c\ubb38\uc5d0 \uc9c0\uc5f0\uc2dc\uac04\uc744 \ub9ce\uc774 \uc904\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li><li>TCP\uc758 \uc778\uc99d\uacfc \uc554\ud638\ud654\ub294 TLS\ub97c \ud1b5\ud574 \uc9c0\uc6d0\ud588\uc9c0\ub9cc QUIC\uc740 TLS 1.3\uc744 \ud3ec\ud568\ud558\uc5ec \uc9c0\uc6d0\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/li><li>\uc6d0\ub798\uc758 UDP\uc5d0\uc11c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub358 \ud328\ud0b7 \uc7ac\uc804\uc1a1, \ud750\ub984\uc81c\uc5b4\/\ud63c\uc7a1\uc81c\uc5b4 \uae30\ub2a5\uc744 UDP\uc704\uc5d0 \uc0c8\ub85c\uc6b4 \uacc4\uce35\uc744 \ucd94\uac00\ud558\uc5ec \ud574\uacb0\ud558\uc600\uc2b5\ub2c8\ub2e4.<\/li><li>\ud604\uc7ac\uc758 TCP\ubcf4\ub2e4 \ud328\ud0b7 \uc190\uc2e4\uc5d0 \uc788\uc5b4 \uc720\ub9ac\ud569\ub2c8\ub2e4.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.neue.nz\/wp-content\/uploads\/2019\/04\/0rtt-graphic.png\" alt=\"\" class=\"wp-image-605\"\/><figcaption>image from <a href=\"https:\/\/blog.chromium.org\/2015\/04\/a-quic-update-on-googles-experimental.html\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">https:\/\/blog.chromium.org\/2015\/04\/a-quic-update-on-googles-experimental.html<\/a><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\ud504\ub85c\ud1a0\ucf5c\uc740 \uc774\uc804 http\uc640 \ub9c8\ucc2c\uac00\uc9c0\ub85c &#8216;https:\/\/&#8217; \ub97c \uadf8\ub300\ub85c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uadf8\ub807\uae30 \ub54c\ubb38\uc5d0 \uccab \ud578\ub4dc\uc250\uc774\ud06c\ub294 TCP\ub97c \ud1b5\ud574 \uc218\ud589\uc774 \ub418\ub294\ub370, \uc5f0\uacb0 \uc124\uc815 \ud6c4 QUIC\uc744 \uc9c0\uc6d0\ud558\ub294 \uc11c\ubc84\uc784\uc744 \ud074\ub77c\uc774\uc5b8\ud2b8\uc5d0 \uc54c\ub824\uc8fc\uba74 \uadf8 \ud6c4\ub85c\ub294 UDP\ub97c \ud1b5\ud574 \ub370\uc774\ud130\uac00 \uc804\uc1a1\uc774 \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">QUIC\uc744 \uac1c\ubc1c\ud55c \uad6c\uae00\uc740 \uc790\uc0ac\uc758 \uc11c\ube44\uc2a4\uc640 \ud06c\ub86c \ube0c\ub77c\uc6b0\uc800\uc5d0 \uc6b0\uc120\uc801\uc73c\ub85c \uc801\uc6a9\ud558\uc600\uc73c\uba70, \ud06c\ub86c \ube0c\ub77c\uc6b0\uc800\ub85c \uad6c\uae00 \uc11c\ube44\uc2a4\ub97c \uc774\uc6a9\ud558\uba74 alt-svc \ud5e4\ub354\ub97c \ud1b5\ud574 \uc2e4\uc81c\ub85c QUIC \ud504\ub85c\ud1a0\ucf5c\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uc744 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. (port 443\uc740 UDP\uc758 well-known port\uc785\ub2c8\ub2e4.)<br>\uad6c\uae00\uc758 \ubc1c\ud45c\uc5d0 \ub530\ub974\uba74 QUIC \uc801\uc6a9\uc73c\ub85c \uc778\ud574 \uc790\uc0ac \uc11c\ube44\uc2a4\uc758 \ud37c\ud3ec\uba3c\uc2a4 \ud5a5\uc0c1\uc5d0 \ub3c4\uc6c0\uc774 \ub418\uc5c8\ub2e4\uace0 \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blog.neue.nz\/wp-content\/uploads\/2019\/04\/alt-svc.png\" alt=\"\" class=\"wp-image-601\"\/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\uc704\uc5d0\uc11c \uc5b8\uae09\ud55c\uac83\ucc98\ub7fc \uc544\uc9c1 \ud45c\uc900\uc774 \ud655\uc815\ub418\uc9c0 \uc54a\uc740 IETF\uc758 QUIC-over-HTTP\ub294 \ud604\uc7ac \uc6f9\ube0c\ub77c\uc6b0\uc800\uc5d0 \uc801\uc6a9\ub41c \uc0ac\ub840\uac00 \uc5c6\uace0 \uc591\ub300 HTTP server\uc778 Apache\uc640 nginx\uc5d0\uc11c\ub3c4 \uc544\uc9c1 \uc9c0\uc6d0\ud55c\ub2e4\uace0 \ubc1c\ud45c\ud558\uc9c0 \uc54a\uc740 \uc0c1\ud0dc\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">References :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The road to QUIC : <a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/blog.cloudflare.com\/the-road-to-quic\/\" target=\"_blank\">https:\/\/blog.cloudflare.com\/the-road-to-quic\/<\/a><\/li><li>HTTP\/3 explained : <a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/daniel.haxx.se\/http3-explained\/\" target=\"_blank\">https:\/\/daniel.haxx.se\/http3-explained\/<\/a><\/li><li>HTTP-over-QUIC to be renamed HTTP\/3 : <a href=\"https:\/\/www.zdnet.com\/article\/http-over-quic-to-be-renamed-http3\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">https:\/\/www.zdnet.com\/article\/http-over-quic-to-be-renamed-http3\/<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>QUIC\uc740 Quick UDP Internet Connections \uc758 \uc57d\uc790\uc774\uba70, \uc804\uc1a1\uacc4\uce35 \ud504\ub85c\ud1a0\ucf5c\uc778 UDP \ub97c \uae30\ubc18\uc73c\ub85c TCP + TLS + HTTP \uc758 \uae30\ub2a5\uc744 \ubaa8\ub450 \uad6c\ud604\ud558\ub294 \ud504\ub85c\ud1a0\ucf5c\uc785\ub2c8\ub2e4. QUIC \uc740 &#8220;quick&#8221;\uacfc \ub3d9\uc77c\ud558\uac8c &#8220;\ud035&#8221;\uc73c\ub85c \ubc1c\uc74c\ud569\ub2c8\ub2e4. Google\uc5d0\uc11c 2012\ub144\uc5d0 \ucd5c\ucd08\ub85c \uac1c\ubc1c\ud588\ub294\ub370, \uc5ec\ub2f4\uc774\uc9c0\ub9cc \uad6c\uae00\uc5d0\uc11c \uac1c\ubc1c\ud588\ub358 SPDY \uae30\uc220\uc774 HTTP\/2\uc758 \uae30\ubc18 \uae30\uc220\uc774\uc5c8\ub294\ub370 \uc5ed\uc2dc \uad6c\uae00\uc5d0\uc11c \uac1c\ubc1c\ud55c QUIC\uc774 HTTP\/3\uc758 \uae30\ubc18 \uae30\uc220\uc774 \ub418\uc5c8\uc2b5\ub2c8\ub2e4. gQUIC vs QUIC-over-HTTP \ud604\uc7ac\ub294 IETF\uc758 quicwg\uc5d0\uc11c \uad00\ub9ac\ud558\ub294 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":654,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[71,77,78,108,123],"class_list":["post-456","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-frontend-dev-story","tag-gquic","tag-http-over-quic","tag-http-3","tag-quic","tag-udp"],"_links":{"self":[{"href":"https:\/\/blog.neue.nz\/index.php?rest_route=\/wp\/v2\/posts\/456","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.neue.nz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.neue.nz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.neue.nz\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.neue.nz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=456"}],"version-history":[{"count":0,"href":"https:\/\/blog.neue.nz\/index.php?rest_route=\/wp\/v2\/posts\/456\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.neue.nz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=456"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.neue.nz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=456"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.neue.nz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}