๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
HTTP 1.1 VS HTTP2.0/Capstone design

h1 ํŒŒ์ผ send-recv ์„ฑ๋Šฅ, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž‘์„ฑํ•˜๊ธฐ

by ๋„์บ๋ฆฌ๐Ÿฑ 2021. 7. 19.
๋ฐ˜์‘ํ˜•

Part 1. ํŒŒ์ผ ๋ถ„์„

 

h1 ์—ญ์‹œ json ํŒŒ์ผ์˜ ๊ตฌ์กฐ๋Š” h2 ์™€ ๊ฐ™์•˜๋‹ค. 

"constants" , "events", "polledData" ์ด 3๊ฐ€์ง€์˜ ํ‚ค๊ฐ’์ด ์žˆ๋‹ค. 

 

ํ•ด๋‹น ํ‚ค๊ฐ’์˜ ๋ฒจ๋ฅ˜๋“ค๋กœ ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋Š”์ง€๋Š” ์ด์ „ ํฌ์ŠคํŒ…์—์„œ ์ต์ˆ™. 

h1 / 162324์ค„์ด๋ผ๋‹ˆ..

 


 

net-log ๋กœ ํ•„์š”ํ•œ ์ •๋ณด์— ๋Œ€ํ•ด์„œ ๋จผ์ € ํ™•์ธํ•œ๋‹ค. 

์•„๋ž˜ ์ฒดํฌ ํ‘œ์‹œํ•œ ๊ณณ์„ ์ž์„ธํžˆ ๋ณด์•„์•ผ ํ•œ๋‹ค.

 

net-log ๋ฅผ ๋ณผ๋•Œ, ์ž์ฃผ ๋ณด์ด๋Š” 'SOCKET' source type์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์†Œ์ผ“์— ๊ฐœ๋…์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ์„ ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

 

SOCKET์€ ์†Œํ”„ํŠธ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.

์—ฌ๊ธฐ์„œ๋Š” ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ์„ ๋•๋Š” ์•„์ด๋ผ๊ณ  ๋ณด๋ฉด๋œ๋‹ค.

์ฆ‰, ์‹ค์ œ ์ธก์ •ํ•˜๋ ค๋Š” send, recv ์™€๋Š” ๋ฌด๊ด€ํ•˜๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

 

์•„๋ž˜ ๋งํฌ์— ์†Œ์ผ“๊ณผ ์ŠคํŠธ๋ฆผ์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ๊ฐ„๋žตํžˆ ์ •๋ฆฌํ•ด๋‘์—ˆ๋‹ค. 

2021.07.25 - [Capstone design] - Socket ๊ณผ Stream

 

net-log ๋กœ ์ •๋ณด ๋ณด๊ธฐ

 


 

 

์•„๋ž˜ ์‚ฌ์ง„ ์—์„œ,  SEND_REQUEST_HEADERS ๋ฅผ send ๋กœ ๋ณด์•˜๋‹ค. 

SEND_REQUEST_HEADERS : t = 7082

 

HTTP/1.1 ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 


 

URL_REQUEST | SCat.jpg ์—์„œ, READ_BODY๋ฅผ ์ŠคํŠธ๋ฆผ๋ณ„๋กœ ๊ฐ€์ ธ์˜ค๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ์•„๋ž˜ ์‚ฌ์ง„์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  Stream ์„ ๋งˆ์น˜๊ณ  , ๋ฐ”๋กœ favicon์„ Request ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ถ€๋ถ„์„ receive๋กœ ๋ณด์•˜๋‹ค. 

>> favicon์„ Request t: 7663

 

 

 

 


 

 

Part 2. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž‘์„ฑ

 

send ๋Š” ์ฒซ๋ฒˆ์งธ URL REQUEST ๊ธฐ์ค€, 

receive๋Š” favicon.ico URL_REQUEST ๋กœ ๋ณด์•˜๋‹ค.

 

์ด๋ฏธ์ง€ ํ•œ๊ฐœ์˜ ๊ฒฝ์šฐ ์‚ดํŽด๋ณด๋Š” ๊ฐ’ ๋Œ€๋ฝ ์‚ฌ์ง„

 

์ด๋ฏธ์ง€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฝ์šฐ ์‚ดํŽด ๋ณด๊ฒŒ ๋˜๋Š” ๊ฐ’ ์‚ฌ์ง„

 

 

json ํŒŒ์ผ์„ ์‚ดํŽด๋ณด์•˜์„ ๋•Œ,

172.30.1.28 ์ด ์žˆ๋Š” ๊ณณ์€ events ํ‚ค ์•ˆ์— {} ์ด๋ ‡๊ฒŒ๋งŒ ์กด์žฌํ–ˆ๋‹ค.

(h2์˜ ๊ฒฝ์šฐ์—๋Š” spdySessionInfo ๋กœ,

ํ•ด๋‹น ํ˜ธ์ŠคํŠธ๊ฐ€ ๋ถ€์—ฌ๋ฐ›์€ ์•„์ด๋”” ๊ฐ’์„ ์ฐพ์€ ํ›„์— ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•˜๋Š”๋ฐ,

h1์˜ ๊ฒฝ์šฐ spdySessionInfo ์—๋Š” ํ•ด๋‹นํ•˜๋Š” ์›ํ•˜๋Š” ๊ฐ’์— ์ ‘๊ทผํ•  ์ˆ˜๊ฐ€ ์—†๋‹ค.)

 

↓ SPDY๊ฐ€ ๋ฌด์—‡์ด๋ƒ

https://ko.wikipedia.org/wiki/SPDY

์• ์ดˆ์— spdy๊ฐ€ h2์™€ ๋น„์Šทํ•œ ๊ฒƒ์œผ๋กœ ํ‚ค๊ฐ’์˜ ๋ช…์นญ์œผ๋กœ๋งŒ ํ•ด๋„ ์ดํ•ด๊ฐ€ ๋˜๋Š” ๊ฐ’์ด๋‹ค.

 

 

์›ํ•˜๋Š” ๊ฐ’๋“ค์„ ๋ถ„๋ฅ˜ํ•˜๊ธฐ ์œ„ํ•œ constants ๊ฐ’๋“ค ๋ถ€ํ„ฐ ํ™•์ธ์„ ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

"URL_REQUEST": 1,

"HTTP_STREAM_JOB": 142,

 

 

๊ทธ๋ž˜์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ–ˆ๋‹ค.

์ด๋ฏธ์ง€ ํ•œ๊ฐœ์ผ ๋•Œ ๊ฐ’์„ ์ž˜ ๊ฐ€์ ธ์˜จ๋‹ค.

 

์ด๋ฏธ์ง€๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์ผ ๋•Œ๋„ ์ฒ˜์Œ Request ์™€ ๋งˆ์ง€๋ง‰ favicon์ด๋ฏ€๋กœ ์ž˜ ๊ฒฐ๊ณผ ๊ฐ’์ด ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค. 

์ด๋ฏธ์ง€ ์—ฌ๋Ÿฌ๊ฐœ์ผ ๋•Œ๋„ ์ž˜ ๊ฐ€์ ธ์˜จ๋‹ค.


 

Part 3. Django์— ์ ์šฉ

 

๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ ํ•ด์•ผํ•  ๊ฒƒ

→ Django ์—์„œ h1  ๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆฌ๊ธฐ

 Django ์—์„œ h1 ํ•˜๊ณ  h2 ๊ฐ™์€ ๊ทธ๋ฃน๋ช… ๋ฌถ์–ด์„œ ๊ทธ๋ž˜ํ”„๋กœ ๊ทธ๋ฆฌ๊ธฐ

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€