SPDY 㨠WebSocket ã®åºç¤ã¨ SPDY ã® Push
æè¿ SPDY対WebSockets? ãªã©ã¨ããè¨äºãåºã¦ããããã¦ã
SPDY 㨠WebSocket ãè²ã ãã¡ããã¡ãã«ãªã£ã¦èªããã¦ããã®ãããªããã¨æãã¾ãã
SPDY ã§ã¯ Akamai ã®ä¸ã®äººã®
Guy's Pod » Blog Archive » Not as SPDY as You Thought
ããããã«å¯¾ãããã©ãã¼è¨äº
Followup to “Not as SPDY as You Thought” « Mike's Lookout
ãªãããã ã¡ãã£ã¨æ³¨ç®ãããããã¾ããã
ãããã®è¨äºã«ã¯ WebSocket ã SPDY ã®æ§è³ªãã¢ããã¼ã·ã§ã³ãæ£ããç解ããããã«ã
ç¥ã£ã¦ããã¨è¯ãç¥èã¸ã®ãã¼ã¯ã¼ããæ£ãã°ãããã¦ããã¨æã£ãã®ã§ã
ããã辺ã«ã¤ãã¦ãã¤ãã¤ãæ¸ãã¦ã¿ãããã¨æãã¾ãã
SPDY ã¯ãé ããã®ãï¼
Guy's Pod » Blog Archive » Not as SPDY as You Thought ã§ã¯ Guy æ°ããã³ããã¨ã£ã¦ãã¾ãã
ãã³ãã¯
- Alexa ã® top 500 ãµã¤ã(ã¢ãã«ãå«ã)ãã HTTP/HTTPS/SPDY ã«åãæ¿ãã¦æ¯è¼ããã
- ãµã¼ã㯠Cotend ã§ãããã·ãã¦ãã¯ã©ã¤ã¢ã³ã㯠Chrome ã® WebPageTest ã使ç¨ã
- 4 ã¤ã®é度ã®éããããç°å¢ã§ 5 åã¥ã¤ãã¹ãã
- æéã¨ã¨ãã« Alexa ã®çµæã¯ãããã®ã§ãæ¼ã« 2 åãå¤ 1 åå®æ½ãã¦ãåè¨ã§ 9 ä¸åãã¼ã¸ãã¼ãã試è¡ãããããã
ããã¾ã§ããã³ã¨è¡ããã¦ããã®ã§ãçµæã®ä¿¡é ¼æ§ã¯é«ãã ããã¨ã®ãã¨ã
çµæã¯
SPDY 㯠HTTPS ãã 4.5% éãã HTTP ãã 3.4% é ãã£ãã
åå ã¨ãã¦ã¯
- SPDY ã¯ãã¡ã¤ã³ãã¾ããã éä¿¡ãå¤éåã§ããªãã®ã§ãè¤æ°ã®ãã¡ã¤ã³ãããªã½ã¼ã¹ãåå¾ãããµã¤ãã§ã¯ãå¹æãæ¸ãã
- SPDY ã«é¢ä¿ãªãããã«ããã¯ãæã¤ãã®ãå¤ããä¾ãã°ã¹ã¯ãªãããã¦ã³ãã¼ãã«ãããããã¯ã¨ããCSS ã¬ã³ããªã³ã°ã®ãããã¯ã¨ãã
ã§ããã¨åæãã¦ãã¾ãã
ããã«å¯¾ããè£è¶³è¨äºã¨ãã¦ãæ°æ¥å¾ã«ä»¥ä¸ã®è¨äºããããã¾ããã
Followup to “Not as SPDY as You Thought” « Mike's Lookout
ããããããããã³ãããããè«äºãããããã«ããã®è¨äºãæåã®ãã³ãã¸ã®ã¢ã³ãè¨äºã®ããã«æãããããããã¾ãããã
ããè¯ãèªãã¨ãããªãã¨ã¯ä¸åç¡ãã¦ã Mike æ°ã¯ Guy æ° ã®è¨äºã®ä¾¡å¤(ãã³ãã®ä¿¡é ¼æ§)ãè©ä¾¡ããä¸ã§ãããä»ãå ãã¦ãã¾ãã
Guy æ° ã®ãã¹ãã¯ã SPDY ãã¼ã¸ãã¼ãã§ã¯ãªãã "é¨åçãª" SPDY ãã¼ã¸ãã¼ããããã¹ãã§ãã¦ãªãã
ããã§ã¯ã Guy æ°ãæãã 1 ã¤ç®ã®çç±ã®æ¹ã«çç®ãã¦ãã¾ãã
ã¾ã¨ããã¨ã Guy æ° ã®ãã¹ãã§ã¯ããã¡ã¤ã³ãéã㨠SPDY ã®éä¿¡ã¯å¤éåã§ããªãããã 3rd Party Domain ãå¤ããµã¤ãã§ã¯ã
SPDY ã®ã¡ãªãããå¾ããã«ããã¨ææãã¦ãã¾ãã
ããã¦ãGuy æ°ã®ãã¹ããããµã¤ãã«ã¯ã 3rd Pary Domain ã®ä¸ã«ããèªåãã³ã³ããã¼ã«ã§ãããã¡ã¤ã³ãæ··ãã£ã¦ããããã¨ã Mike æ° ã¯åé¡ã«ãã¦ãã¦ã
ã¤ã¾ãã google.com ã®æã¡ä¸»ãªãã images.google.com ã触ããã¨ãã§ãããã ããã
å
¨ã¦ã®ã³ã³ãã³ãã google.com ããåãããã«ãããã SPDY ã®å¹æããã大ããåºãã¯ãã ã¨ãããã®ã
Guy æ° ã®ãã¹ããã cnn, ebay, yahoo ã®çµæã ãããµã³ããªã³ã°ãã¦ããã®ä¸ã§ä½¿ããã¦ãããã¡ã¤ã³ã調ã¹ã¦ã¿ã¦ãã
ãSPDY ã§èªããã¨æãã°èªããã¯ãã ãã©ãä¸è¨çç±ãããããªã£ã¦ãªããªã½ã¼ã¹ããçµæ§å¤ããã¨ãææãã¦ããã
(ãããã Mike æ° ã® blog çãä¸ã®è¡¨)
ã ããã Mike æ° ã¯ãGuy ã®ãã¹ãã¯ç´ æ´ããããã©ãããã¯ãµã¤ãã SPDY ã«æé©åãããã¨ã§ãããå¹æãå¾ãããå¯è½æ§ãææãã¦ããã ã¨ãã£ãã¾ã¨ãããã¦ãã¾ãã
High Performance WebSite ã®ã¢ãããã¼ã
è¦ããã«ãSPDY ã«ãã£ã¦é«éåã®ããã®æ段ã¯å¢ãããã®ã®ã
ãã 使ãã ãã§ã¯ã ãã§ãç¸å¿ã®æé©åãå¿
è¦ã§ããã¨ãããã¨ã
ãã㯠WebSocket ã«ã¤ãã¦ãåãã§ãã
ããã¦ãããããæè¡ãã©ããã£ãå ´é¢ã«é©å¿ããã®ãã¯ããã¡ãã¨è¦å®ããªãã¨ãããªããã
åç´ã«ç½®ãæããã ãã§ããªãã§ããã¾ãããã¨ãããã®ã§ããªãã ããã¨ãããã¨ã§ãã
SPDY ã¯ã確ãã«æ¢åã®ã¤ã³ãã©ãã¢ããªã¨ã®è¦ªåæ§/äºææ§ã大äºã«ãã¦ãããã©ã
ããã§ãããããªãã«ãæé©åããããªãã¨ãæå¾
ããããã©ã¼ãã³ã¹ã¯å¼ãåºããªããã¨ã Guy æ° ã®è¨äºã¯ç¤ºåãã¦ããã¨ã¨ããã®ã§ã¯ãªãã§ããããã
ããããé¨åã使ãããªããã°ãä»ã¾ã§è¡ãªã£ã¦ããæ§ã
ãªæé©å/é«éåææ³ã«ã
æ°ããªãå¼·åãªé¸æè¢ãå¢ãããã¨ã«ãªãã¾ãã
SPDY 㨠WebSocket 㯠"vs" ã§ç¹ãããï¼
SPDY 㨠WebSocket ã«ã¤ãã¦ã¯ãããªãç¨éã¨ããããèããã¹ãã¬ã¤ã¤ãéããã®ã ã¨æã£ã¦ãã¾ãã
ãã®ããã°ã§ã¯ Socket.IO ã«ããã¤ã¤ãã WebSocket ã«ã¤ãã¦ã¯ä½åº¦ãä½åº¦ãæ¸ãã¦ããã®ã§ã
WebSocket ã®èª¬æã¯ããããã«ã SPDY ã«ã¤ãã¦æ¸ãããã¨æãã¾ãã
SPDY ã®ã¢ããã¼ã·ã§ã³
SPDY 㯠Google ããHTTP ãé
ããããéãããããã¨ããã¢ããã¼ã·ã§ã³ã®ãã¨ã
ãèªåãã¡ã§ä½ã£ã¦ãèªåãã¡ã§ä½¿ãå§ããããããã³ã«ã¨ãããããªæãã§å§ã¾ãã¾ããã
å ·ä½çã«ãä¾ãã°ãããã¼ã¸ãè¤æ°ã®ãªã½ã¼ã¹ (img, css, js) ãªã©ããªã³ã¯ãã¦æãç«ã£ã¦ããå ´åãèããã¨ã
HTTP ã§ã¯
- ã¾ã index.html ãèªãã
- ä¸ã«ãã <img>, <link>, <script> ã«æ¸ããããªã½ã¼ã¹ãåå¾ããããã®æãããããã®ãªã¯ã¨ã¹ãã¯åã®ã¬ã¹ãã³ã¹ãè¿ããªãã¨æããããªãã(*1)
- å ¨ã¦ã®ãªã¯ã¨ã¹ããã¬ã¹ãã³ã¹ã«ã¯ HTTP ããããä»ãããããå«ãã¦ããã¹ããåºæ¬
SPDY ã§ã¯
- index.html ãèªãã(*2)
- å¿ è¦ãªãªã½ã¼ã¹ããåä¸ã®ã³ãã¯ã·ã§ã³ä¸ã§å¤éåãä¸æ°ã«ããåãã§ããã
- ãããã¯å§ç¸®ããããã¤ããªãªã®ã§ãçããã¹ãããã¯ãµã¤ãºãå°ããã
ã¨ãã£ãå½¢ã§ãSPDY ã®æ¹ãå¾æ¥ã® HTTP ããå¹çã®è¯ã(*3)éä¿¡ãå®ç¾ãããã¨ãç®çã¨ãã¦ãã¾ãã
*1: ãªã®ã§ãã»ãã·ã§ã³ãè¤æ°å¼µã£ã¦ä¸¦è¡ã«ãã¦ã³ãã¼ããããããã
*2: SPDY ã® Push ã使ã㨠index.html ãèªãæç¹ã§ãå¿
è¦ãªãªã½ã¼ã¹ãèªãããå¾è¿°ã
*3: ä¸æ¹ã§ãæå·åã®ã³ã¹ãããä¸éãã£ãã·ã¥ãå¹ããªããªã©ã¯ããã
SPDY 㧠Push
ãããªä¸ã§ SPDY ã WebSocket ã§ããè¨ããµã¼ããµã¤ã Push ãå¯è½ã ã¨è¨ãç¹ãã話ãããä¸ã¤ããããããã¦ããã®ããããã¾ããã
ããã¯ãåããµã¼ããµã¤ã Push ã§ããã WebSocket ã¨ã ä¼¼ã¦ããããã§ãããè¥å¹²ç¨éãéãã¾ãã
SPDY ã® Push ã¯ãåä½ã¤ã¡ã¼ã¸ã¨ãã¦ã¯ã
ããªã¯ã¨ã¹ããæ³å®ããã¦ãããªã½ã¼ã¹ããå ã«ã¬ã¹ãã³ã¹ãã¦ããã
ã¨ãã£ãæãã®æåãã§ãã¾ãã
(ããã¯ããã¾ã§ããã²ã¨ã¤ã®ä½¿ãæ¹ã ã¨æãã¾ããã)
ããããããã§å¾æ¥ã§ããªãã£ããããªé«éåã
ã§ããããã«ãªãå¯è½æ§ãããã¾ãã
å¾æ¥ã®ãªã½ã¼ã¹èªã¿è¾¼ã¿
ä¾ãã°ãæåã®ãªã¯ã¨ã¹ã㧠index.html ãèªã¿è¾¼ãã§ã
ãã©ã¦ã¶ãããã解æãå§ããã¨ãã以ä¸ã®æ§ãªå¤é¨ãªã½ã¼ã¹ã®
åãè¾¼ã¿ããã£ãã¨ãã¾ãã
<link rel="foo.css"> <script src="bar.js"> <img src="buz.png">
ããã¨ããã©ã¦ã¶ã¯(AMD ã¨ãã§ç¡ãéã)ãããããé çªã«åå¾ãã¦ããã¾ãã
åå¾ã®éã¯ãåä¸ã®ã»ãã·ã§ã³ã§ã¯ã¬ã¹ãã³ã¹ãè¿ãã¾ã§ããªã¯ã¨ã¹ããæãããã¾ããã
ããã§ããã©ã¦ã¶ã¯è¤æ°(2-6ããã) ã®ã»ãã·ã§ã³ãåæã«å¼µã£ã¦ã
å¹³è¡ã«ãªã½ã¼ã¹ã®åå¾ãè¡ããªã©ãã¦ãã¾ãããããã¯ãµã¼ãããããã¯ã¼ã¯ã«å¤§ããªè² è·ã«ãªãã¾ãã
ãããã spdy ã¯åä¸ã®ã»ãã·ã§ã³ã§ãªã¯ã¨ã¹ããå¤éåãããã¨ãã§ããããã
ããã ãã§ãã大éã®ç»åã®èªã¿è¾¼ã¿ãªã©ã§ã¯ãã»ãã·ã§ã³ã®é¢ã§è¦ãéä¿¡ã®å¹çã¯
è¯ããªãã¾ãã
ããã« spdy ã¯ããµã¼ã push ãå©ç¨ãããã¨ã§ã
ãã©ã¦ã¶ã index.html ãèªã¿è¾¼ãã§ããªã¯ã¨ã¹ããæããåã«ã
å¤é¨ãªã½ã¼ã¹ãé
ä¿¡ãããã¨ãã§ãã¾ãã
ããã¯ãè¦æ¹ãå¤ããã°ããã£ãã·ã¥ã®éãã¤ããã¨ããæãã§ãã
å
ã»ã©ã®ä¾ã§ã¯ããã©ã¦ã¶ã¯ index.html ãèªãã§åãã¦
"foo.css", "bar.js", "buz.png" ãå¿
è¦ã ã¨ãããã¨ããããã
ããã§åãã¦ãªã¯ã¨ã¹ããæãã¦ãªã½ã¼ã¹ãåå¾ãã¾ãã
ããããã³ã³ãã³ããéãå´ã§ãããµã¼ãã¯ã index.html ãå¿
è¦ã¨ãããªã½ã¼ã¹ããããããç¥ããã¨ãã§ãã
(å ´åãå¤ã) ã¯ããªã®ã§ã
index.html ã¨ã¨ãã«ã ãã©ã¦ã¶ããªã¯ã¨ã¹ããã¦ããåã«
"foo.css", "bar.js", "buz.png" ããéãã¤ãã¦ãã¾ããã®ã§ãã
éãã¤ãããããã®ä¸ã¤ã¯ããã©ã¦ã¶ã index.html ãèªãã§ããéã«
ãã£ãã·ã¥ã«å
¥ãããã©ã¦ã¶ããªã¯ã¨ã¹ããçºè¡ãã段éã§ã¯
ãã£ãã·ã¥ããããã¦ããã«ãªã½ã¼ã¹ã使ç¨åºæ¥ãã¨ãã寸æ³ã§ãã
ã俺㯠index.html ãèªãã§ãªã¯ã¨ã¹ããçºè¡ãããã¨ãããã
ãã®ãªã½ã¼ã¹ã¯æ¢ã«"ãã£ãã·ã¥ã®ä¸ã«å ¥ã£ã¦ã"ãã
ä½ãè¨ã£ã¦ããããããã¼ã¨æãã(ry
cdn ã¨ã css-sprite ã¨ããããªã¡ãã¡ãªããããã æãã¦ãã
ãã£ã¨æããããã®ã®çé±ãå³ãã£ããããã
node-spdy 㧠push
node-spdy ã§ãµã¼ã push ãããã®ã¯ãããã¾ã§é£ãããªãã§ãã
indutny/node-spdy · GitHub ã npm ã§ã¤ã³ã¹ãã¼ã«ãããã
ä¸è¨ã®ããã«é常㮠https ã® createserver ã¨åãã¤ã³ã¿ãã§ã¼ã¹ã§ãµã¼ããç«ã¦ãã ãã§ãã
push ã«ã¤ãã¦ã¯ã
- req.issdy
- res.push()
ãç¨ãã¾ãã
主è¦é¨åã¯ãããªæãã
var path = '/images/icon0.png', header = { 'content-type': 'image/png' }, file = fs.readFileSync(__dirname + '/public' + path); app.get('/', function(req, res) { var title = 'HTTP :('; if (res.isSpdy) { title = 'SPDY :)'; res.push(path, header, function(err, stream) { if (err) return console.error(err); stream.on('error', function(){}); stream.end(file); }); } res.render('index', { title: title }); });
ä¸è¨ã®å
¨ä½ã¯ããã¡ãã spdy-push/simple.js at master · Jxck/spdy-push · GitHub
ãµã¼ããèµ·åãã¦ã https://localhost:3000 ã«ã¢ã¯ã»ã¹ãã¾ãã
(HTTPS ã§ãããã¨ã«æ³¨æ!! ããã俺ã¯å¥ã«ãããªã¨ãã㧠15 åãããã£ãããã¦ãªãã§ããããã ãªããã³ãww)
Chrome ã§ã¿ãã¨ã Push ãããªã½ã¼ã¹ã¯ Cache ããèªã¾ãã¦ãããã¨ããããã¾ãã
(ãã¡ãã Disable Cache ãã¦ããã¾ãããã)
SPDY ãåãã¦ãããã¨ã¯ã SPDY-indicator ã使ã㨠URL ã¨ãªã¢ã«å°ãåºã¾ãã
(ã¡ãªã¿ã«ä½ã£ã¦ãã®ã¯ã Socket.IO ã®ä½è
Guillermo ã§ã)
ãã³ããã¼ã¯
ã§ã¯ãå¤æ°ã®ãªã½ã¼ã¹ãã¡ã¤ã«(img, css, js)ãèªã¿è¾¼ãã ãã®ã
åç´ãª html ãè¿ãã¦ãPush ããå ´åã¨ããªãå ´åã§ãå
¨ä½ã®èªã¿è¾¼ã¿ã«ãããæéã調ã¹ã¦ã¿ããã¨æãã¾ãã
ãã³ããåã£ãããã®å ¨ä½ã¯ãã¡ãã§ãã(spdy.js ãæ¬ä½)
https://github.com/Jxck/spdy-push
ãªã½ã¼ã¹ã¯ãimg ãèªåã® iconã css, js ã«ã¤ãã¦ã¯ãä¸è¬çãªãã®ã¨ãã¦ã
jquery.js 㨠bootstrap.css ã®éå§ç¸®ã®ãã®ãæ¡ç¨ãã¾ããã
ããããã¨ãããã 10 åã¥ã¤èªã¿è¾¼ãã§ãã¾ãã
chrome ãç¨ãã¦ãåããªã½ã¼ã¹ãèªã¿è¾¼ãé度ã
Push ããå ´åã¨ãããªãã£ãå ´åã§æ¯ã¹ã¦ã¿ã¾ããã
ä¸å測å®ããçµæã¯
- push ãªã
- 2.09, 2.14, 2.02:
- push ãã
- 1.69, 1.69, 1.57:
ããã ãã§ãçµæ§æ©ããªã£ã¦ã¾ããã
ãã ãåãã¹ã¯ãªããã HTTP ã§èªãã§ã¿ãã¨ããã
- HTTP
- 1.28, 1.42, 1.30:
ã¨ããã¡ãã®æ¹ãéãçµæã«ãªãã¾ããã
ãã㯠Guy æ°ã®è¨ã£ã¦ãããããªçµæã¨è¿ãããããã¾ããã
ãã®å ´åã¯ã並è¡ããã»ãã·ã§ã³ãå¤ãããããã£ã¡ã®æ¹ãéãã®ããããã¾ããã
10åã¯å°ãªãããªã¨ãæã£ããã©ãç¾å®çãªå¤ã欲ããã£ãã®ã§ãããã¾ããã
HTML ãèªã¿è¾¼ããªã½ã¼ã¹ããã£ã¨å¤ãã¨å·®ãåºãã®ããããã¾ããã
SPDY 㨠WebSocket ã® Push ã®éã
SPDY ã® Push ãè¦ã¦ãã¾ããããã§ã¯ WebSocket ã® Push ã¨ã¯ä½ãéãããèãã¦ã¿ã¾ãã
ã¾ã SPDY 㧠Push ããã¾ããããããã¯ããã¾ã§ SPDY ã®éä¿¡ãªã®ã§ã
éä¿¡ã«ã¯ãããæ
å ±ãªã©ãã¤ãã¾ãã
ã¾ããå®éã¯ãªã¯ã¨ã¹ãããå
ã«ã¬ã¹ãã³ã¹ãè¿ãã¨ããæããªã®ã§ã
SPDY ãµã¼ãã®ã³ã³ããã¹ãä¸ã§ããåããã¾ãã
ä¸æ¹ WebSocket ã¯ãã¡ãã»ã¼ã¸ã«ãããæ
å ±ãªã©ã¯ã¤ããªãããã
ã¡ãã»ã¼ã¸ã®å®¹éã¯é常ã«å°ããæ¸ã¿ã¾ãã
ããã¦ãä¾ãã° HTTP ãµã¼ããªã©ã¨ã¯ç¬ç«ããå½¢ã§éä¿¡ãå¯è½ãªã®ã§ã
é常ã«æè»ãªæ±ããã§ãã¾ãã
é å¼µãã°ã SPDY ã ãã§ãã£ãããªã©ãåºæ¥ãããããã¾ãããã
ããããã¬ãªã¬ãªããã°ã©ã ã§å¶å¾¡ãããããªç¨éãªã WebSocket ã®æ¹ã楽ã§ãã
(ããã§ã Push ãæ¥ããã¨ãã©ã¦ã¶ã§åããã®ããªï¼)
WebSocket ã¯ããããã¤ã³ã¿ãã§ã¼ã¹èªä½ãã W3C ãªã©ãä¸å¿ã«ã
ã¢ããªã±ã¼ã·ã§ã³ãå®è£
ããããããã«ä»æ§çå®ãã¦ããã®ã§ã
å½ããåã¨è¨ãã°å½ããåã§ããã
ããã¾ã§è¦ã¦ããã ãã¦ããã£ãããã«ã SPDY ã§ã® Push 㯠WebSocket ã® Push ã¨è¥å¹²éãã¾ãã
使ãåããã¨ããã°
- spdy
- ã³ã³ãã³ãã®ããã·ã¥ããµã¤ãã®é«éåã主ãªç®çã
- WebSocket
- ã¢ããªã«å¿ è¦ãªãã¤ã³ã¿ã©ã¯ãã£ããªè¡¨ç¾ãå¯è½ã«ããã®ã主ãªç®çã
ã¨ããå½¢ã§ä½¿ãåããæãã§è½ã¡çãããããªããã¨æãã¾ãã
ã¾ã¨ã
両æ¹ã¨ãã次ä¸ä»£ã® Web ãæ
ããã¨ãæå¾
ããããããã³ã«ã ãã
åºã¦ããææãã Push ã§ãããªã©ä¼¼ããããªæ§è³ªãæã£ã¦ããç¹ã§ã
ä¸ç·ããã«èªããããã¨ãå¢ãããã§ã¯ããã¾ããã
ä½åº¦ãè¨ãããã«ã2ã¤ãæ
ãç¹ã¯å¥ã ããèããªãã¨ãããªããã¨ãã
使ãã¹ãå ´é¢ãéãã¨ãããã¨ã¯æãã¦ãããã»ããããã¨æãã¾ãã
ã¾ãã infoQ ã§ã¯ãWebSocket ã«ããããç¡ããã¨ãã
ã»ãã¥ãªãã£ãã¤ã³ãã©ã¸å¤§ããªå½±é¿ãåã¼ããã¨ãææãã¦ãããªã³ã¯ãããã¾ãã
ããã¯ç¢ºãã«ããã§ãããããç¡ããã¨ä»¥åã«ãupgrade ãéãã LoadBalanser で使えない ã¨ãã
パーソナルファイアーウォールでつながらない ã¨ãã
ããäºä¾ãèµ·ãã£ãããã¾ãã
ãã®ç¹ã TLS ã®æ¡å¼µã§ãã Next Protocol Negotiation ãç¨ãã¦ææ ¼ãã¦ããç¹
SPDY ã¯æ¢åã®ã¤ã³ãã©ã¨ã®è¦ªåæ§ã¯é«ããããããªããã©ã
æå·åããã¦ããåä¸éãã£ãã·ã¥ãå¹ããªãããã¡ã¤ã³ãéãã¨å¤éåã§ããªããªã©ãããã¾ãã
ã©ã£ã¡ãããåãå ¥ãã¦çµãããã¨ããã¨ã«ãã使ãã°ãããã£ã¦ã»ã©ç°¡åã§ãç¡ãç¹ã¯å¤ããã¾ããã
ããããåºãã°ããã®ãããã³ã«ã§ããã
WebSocket ã¯å¯¾å¿ãã©ã¦ã¶ãå¢ãã¦ãããã
SPDY ã¯æ¬¡æ HTTP2.0 ã®ãã¼ã¹ã¨ãã¦ãæ¡ç¨ãããããªåããããã®ã§ã
ããããã®ç¹æ§ãããã³ã¨æ´ãã ä¸ã§ã
両æ¹ããã¾ãåãå
¥ããã®ããä»å¾æ±ããããã®ããªã¨æãã¾ãã