- toc {:toc}
Notice
Computer Networks ๊ธ์ ๊ฒฝํฌ๋ํ๊ต ์ํํธ์จ์ด์ตํฉ๋ํ ์ด์ฑ์ ๊ต์๋์ [์ปดํจํฐ ๋คํธ์ํฌ CSE302] ์์ ์ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค.
HTTP
- 4๊ณ์ธต ์ด์์ด๋ ์ด๋ ๊ณ์ธต์ธ์ง๋ ๋ช ํํ ํ ์๋ ์๋ค.
- HTTP 1.1, HTTP 2๊ฐ TCP๋ฅผ ์ฌ์ฉํ๋๋ก ํ๊ธฐ ๋๋ฌธ์ TCP๋ฅผ ์ฌ์ฉํ๋ค.
- HTTP 3(์ ํ๋ธ)๋ถํฐ๋ TCP๋ฅผ ์ฌ์ฉํ์ง ์๊ณ , ์๋ก์ด ํธ๋์คํฌํธ ๊ณ์ธต์ ํต์ ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ค.
HTTP/1.1
- Web Client and Servers
- HTTP : ์น ์๋ฒ์ ์น ๋ธ๋ผ์ฐ์ (ํด๋ผ์ด์ธํธ) ์ฌ์ด์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ํ๋กํ ์ฝ์ ์ด๋ฆ
- HTML : HTTP๊ฐ ์ ์กํ๋ ์ ๋ณด๋ค ์ค ํ๋์ด๋ค.
- 4๊ณ์ธต ์์ด๊ธฐ๋ ํ๋, ๊ตฌ์ฒด์ ์ผ๋ก ์ ์ํ์ง ์๋๋ค.
- request๋ฅผ ํ๋ฉด ์ ์ก, ์์ด์ง๋ฉด TCP๊ฐ ์ค๋ฅ ๊ฒ์ถ, ์ฒ๋ฆฌ.
Resources
-
ํ์ผ์ด ์ ์ ์ธ์ง, ๋์ ์ธ์ง๋ฅผ ๋ฌป๋ ๊ฒ์ด ์๋๋ผ request๋ฅผ ๋ฐ๊ธฐ ์ ์ ์ด๋ฏธ ๋ง๋ค์ด์ ธ ์๋์ง๋ฅผ ๋ฌป๋๋ค.
-
Static : request๋ฅผ ๋ฐ๊ธฐ ์ ์ ๋ง๋ค์ด์ ธ ์๋ content
-
Dynamic : request๋ฅผ ์ ์กํ๋ฉด์ request ์ ๋ณด(์ธ์ฆ, ๊ณ์ ์ ๋ณด ๋ฑ)๋ฅผ ๋ฐ์ ์์ฑํ๋ content
-
Media Types
- MIME (Multipurpose Internet Mail Extensions)
- Textual label
-
HTTP ์์ฒญ์ ํตํด์ ํด๋ผ์ด์ธํธ๊ฐ ์ด๋ฏธ์ง ํ์ผ์ ๋ฌ๋ผ๊ณ ์์ฒญํ๋ค.
-
์๋ฒ๋ Content-type: image(MIME type)/jpeg, Content-length๊ฐ ๋ด๊ธด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ค.
-
TCP๋ ๋นํธ ๋จ์๋ก ์ฒ๋ฆฌ๋์ด ํ์ธํ ์ ์์์ผ๋, HTTP๋ ๋์ผ๋ก ์ด๋ค ์ ๋ณด๊ฐ ์ค๊ณ ๊ฐ๋์ง๋ฅผ ์ ์ ์๋ค. โ HTTP์ ๋ฌธ์ ์ ์ผ๋ก ๋ฐ์ํ๋ค.
-
URI (Uniform Resource Identifier) : ์ถ์์ ๊ฐ๋ .
- Server resource name : ์ธํฐ๋ท์ ์ฃผ์, ์ ์ผํ๊ฒ ๊ตฌ๋ถ๋๋ค. ์ธํฐ๋ท ๋ฆฌ์์ค์ ์์น๋ฅผ ๋ํ๋ธ๋ค.
-
URL (Uniform Resource Locator) : HTTP๋ก ์์น๋ฅผ ์ค๋ช ํ๋ค.
-
URN (Uniform Resource Name) : HTTP๋ก ์ ์ผํ ์ด๋ฆ์ ๊ฐ์ง ๋ฆฌ์์ค๋ฅผ ๊ฐ์ ธ์จ๋ค.
Transactions
-
ํด๋ผ์ด์ธํธ๋ / ๋ฅผ ํตํด ๋๋ ํ ๋ฆฌ๋ฅผ ๊ตฌ๋ถํ๊ณ ๊ทธ ์์ ์๋ ํ์ผ์ ์์ฒญํ๋ค.
-
์๋ฒ๋ ํด๋น ์์น๋ก ์ด๋ํด ํ์ธํ๊ณ ์ ์กํ๋ค.
-
HTTP method
-
์ฌ๋ฌ ์์ฒญ ๋ช ๋ น์ด๋ฅผ ์ง์ํ๋ค.
-
์๋ฒ๊ฐ ์ด๋ป๊ฒ ํ๋ํด์ผ ํ๋์ง๋ฅผ ๋ํ๋ธ๋ค.
-
GET : ์๋ฒ๋ก๋ถํฐ ํด๋ผ์ด์ธํธ์ ํด๋น ๋ฆฌ์์ค๋ฅผ ์ ์กํ๋ผ.
- PUT : ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ํด๋น ์๋ฒ ๋ฆฌ์์ค์ ์ ์ฅํ๋ผ.
- DELETE : ์๋ฒ์์ ํด๋น ๋ฆฌ์์ค๋ฅผ ์ ๊ฑฐํ๋ผ.
- POST : ์๋ฒ ๊ฒ์ดํธ์จ์ด App์ผ๋ก ํด๋ผ์ด์ธํธ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ผ.
-
HEAD : ๋ฆฌ์์ค๋ฅผ ์ํ ์๋ต์ผ๋ก๋ถํฐ HTTP ํค๋๋ง ์ ์กํ๋ผ.
-
Status codes
-
์ํ ์ฝ๋๋ฅผ ํฌํจํ๋ http ๋ฐํ๊ฐ์ด๋ค.
- 200 : OK
- 302 : Redirect - A์ ์ ์ํ์ ๋ ํ๋ฉด์ด B๋ก ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ(๋ก๊ทธ์ธ Google ์ฐ๋)
- 404 : Not Found
Messages
-
Start line : ๋ฉ์๋ ์ด๋ฆ๊ณผ URL์ด๋ฆ์ด ์๋ ํ ์ค
-
Body : ํ์ผ์ด๋ ์ ๋ณด๋ฅผ ์ ์กํ ๋ ํด๋น ๋ฐ์ดํฐ
-
Request Header : ํ ์คํธ ํ์ผ ์ ๋ถ๋ฅผ ์ํ ๊ฐ๋ฅ, ์ธ์ด๋ en, fr๋ง.
-
Response Header : Content-type, Content-length
-
Example
- Last-modified : ์ด์ ์ ์ ์ํ๋ ๊ณณ์ ๋ค์ ์ ์ํ ๊ฒฝ์ฐ ์บ์ฌ๋ก ์ ์ฅํด๋์ด ์ด์ ์ ์ ์ฅํด๋ ๊ฒ์ ์ฌ์ฉํ๋ค. ๋๋ฌธ์ ๋ง์ง๋ง์ผ๋ก ์์ ๋ ๋ ์ง์ ๋น๊ตํด์ ์ดํ ์ ์ํ๋ ๊ฒฝ์ฐ ์ ์ฅํด๋ ๋ด์ฉ์ ์ฌ์ฉํ๋ค.
Connections
- Transport layer under HTTP
-
80 : ํฌํธ ๋ฒํธ
-
host name์ ๋ํด DNS๋ฅผ ํตํด ํด๋น IP ์ฃผ์๋ก ๋ณํ๋๋ค.
-
๊ณผ์
- URL ์ ๋ ฅ
- DNS lookup โ IP ์ฃผ์๋ก ๋ณํ
- TCP ์ฐ๊ฒฐ ์ค์
- ์ฐ๊ฒฐ ์ HTTP ์์ฒญ/์๋ต
- TCP ์ฐ๊ฒฐ ํด์
-
TCP ์ฐ๊ฒฐ์๋ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฌ๋๋ฐ, ์ด๋ฅผ ๊ตฌ๊ธ์ DNS ์๋ฒ์ ์๊ฐ์ ์ค์ด๋ ๋ฐฉ์์ผ๋ก ์ฐ๊ฒฐ ์๊ฐ์ ๊ฐ์์์ผฐ๋ค.
-
๊ฒ์์ ํ ๋ ์ ๋ ฅํ๋ ์๊ฐ๋ณด๋ค ๋ ๋น ๋ฅด๊ฒ DNS ์๋ฒ์ lookup ํ๋๋ก ๋ง๋ค์๋ค. (์ง๋ฌธ)
- Proxy : ๋น๊ณต์์ ์ผ๋ก ์กด์ฌํ๋ ์๋ฒ. ์ค๊ฐ์์ ์์ฒญ์ ๊ฐ๋ก์ฑ ๋ฉ์์ง๋ฅผ ์ฝ๊ณ ์ฒ๋ฆฌํ๋ค.
- ์๋ฒ์ ์ ๊ทผํ๋ ค๋ฉด ์ค๊ฐ ๊ธฐ๊ธฐ๋ฅผ ๊ฑด๋์ผ ํ๋ค.
- ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์ ์์นํ๋ค.
- ์น ๋ณด์ : ์ ์ํ๋ฉด ์๋๋ ์ฌ์ดํธ๋ฅผ ์ ์ํ๋ ๋ฑ ๋ณด์ ์ฌํญ์ ์๋ฐ ์ ์ฐจ๋จ, ํต๋ณด
- ์ฑ๋ฅ ์ต์ ํ : ํฐ ํฌ๊ธฐ์ ํ์ผ์ ์๋ฒ์ ๊ฐ๊น์ด ์์น๋ก ์ด๋์์ผ ๋ฉ๋ฆฌ์ ๊ฐ์ง๊ณ ์ค์ง ์์๋ ๋๋๋ก ๋ง๋ ๋ค.
- Application ํตํฉ : ์ค๊ฐ์์ HTTP ์์ฒญ์ ๊ฐ๋ก์ฑ ์๋ฒ๋ก ์ฃผ์ง ์๋๋ค. ํ๋ก์๋ ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๊ณ , ๋ง์ฝ ๋จ๋ง๊ธฐ๊ฐ ๊ตฌ์์ธ ๊ฒฝ์ฐ ์๋ฒ๋ก ๋ฐ์์จ ๋ฐ์ดํฐ๋ฅผ ํ๋ก์ ์๋ฒ๊ฐ ์ฑ๋ฅ์ ๋ฎ์ถฐ ๋จ๋ง๊ธฐ๋ก ์ ์กํ๋ ๋ฐฉ์.
HTTP/2
Binary protocol
Multiplexing
Overview
- Multiplexing : ํ๋์ TCP ์ฐ๊ฒฐ ์์์ ๋ค์์ ์คํธ๋ฆผ(Stream)์ ์์ฑํด ๋ค์์ ์์ฒญ, ์๋ต์ ๋์์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ
- HTTP 1.1 : ์์ฒญ 1์ ๋ฐ๋ ๊ฒฝ์ฐ 1์ ๋ํ ์๋ต์ ์ ์กํ๋ ๊ฒ๊ณผ ๊ฐ์ด ์์ฒญ ๋ฐ์ ์์ฐจ์ ์ผ๋ก ์ ์กํ๋ค. ํน์ ํญ๋ชฉ์ด ๋๋ฆฌ๋ฉด ์๋ต์ ๊ธฐ๋ค๋ฆฌ๋ ๋ชจ๋ ์์ฒญ์ด ๋๋ ค์ง๋ค.
- HTTP 2.0 : ์์ฒญ ๊ฐ๊ฐ์ ๋ํด ๋ ๋ฆฝ์ ์ผ๋ก ์๋ตํ ์ ์๋๋ก ํ๋ ๋ฐฉ์
Connection
- TCP ์ฐ๊ฒฐ์ ํ๋๋ง ํ๋ค.
- ์คํธ๋ฆผ(Stream) : TCP ์ฐ๊ฒฐ ์์ ๋ ผ๋ฆฌ์ ์ธ ์ฌ๋ฌ ๊ฐ์ ์ค
- Stream ๊ฐ๊ฐ์ด ๋์๋ค๋ฐ์ ์ผ๋ก ์ก์์ ํ ์ ์๋๋ก ํจ์ผ๋ก์จ ์์ฒญ ๊ฐ๊ฐ์ ๋ํด ์๋ตํ ์ ์๋๋ก ๋ง๋ ๋ค.
- ์ด๋ก์จ ์ ํ ๊ด๊ณ ์์ด ์์ฒญ/์๋ตํ ์ ์๋ค.
Comparison
-
๋์ผํ๊ฒ TCP ์ฐ๊ฒฐ์ ์งํํ๋ค.
-
Stream์ ์ฌ์ฉํด 1~n ๊น์ง ์ค์ ํด ๋ ๋ฆฝ์ ์ผ๋ก ์ก์์ ํ๋ค.
-
TCP ์ฐ๊ฒฐ์ ํ๋์ด๊ธฐ ๋๋ฌธ์ ํ๋์ ์คํธ๋ฆผ์ ๋ฐ์ดํฐ ์ ์ก๋์ด ํฌ๋ค๋ฉด ๋ค๋ฅธ ์คํธ๋ฆผ์ ์ํฅ์ ์ค๋ค.
-
์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ํ๋์ ํ์ผ์ ์ฌ๋ฌ ๊ฐ์ ํ๋ ์์ผ๋ก ์ชผ๊ฐ ์ ์กํ์ฌ ๊ณต์ ์ฑ์ ์ด๋ ์ ๋ ๋ณด์ฅํ๋ค.
-
์ ๊ทธ๋ฆผ์์ HTTP 1.1์ ๊ฒฝ์ฐ TCP๋ฅผ 3๊ฐ๋ฅผ ์ฐ๊ฒฐํ๋ ๋ฐฉ์์ ํตํด์ ํต์ ํ๋ ๊ฒ์ ๋ณด์ธ๋ค. ์ต๋ 8๊ฐ๊น์ง ์ฐ๊ฒฐํด ์ฌ์ฉํ๋ค.(CPU์ ๋ญ๋น ์ฌํ์)
-
Priority
-
์คํธ๋ฆผ ๋ณ๋ก ์ฐ์ ์์๋ฅผ ์ง์ ํจ์ผ๋ก์จ ์ค์ํ ๋ฆฌ์์ค์ ์ฒ๋ฆฌ ์ง์ฐ์ ๋ฐฉ์งํ๋ค.
Header Compression
- ํค๋์ ์์ถ์ ํตํด ๋ ์๊ฒ, ๋ ๋น ๋ฅด๊ฒ ์ ์กํ ์ ์๋๋ก ๋ง๋ค์๋ค.
- ์ค๊ฐ ํ ์ด๋ธ๊ณผ ๊ฐ์ด ๊ฐ ๋ด์ฉ์ ๋ํด ๋ฏธ๋ฆฌ ๊ฐ ํ ์ด๋ธ์ ๊ฐ์ด ์ด๋ค ๊ฐ์ด ์ฌ ์ง๋ฅผ ์ค์ ํด ๋๋๋ค. GET์ ์์ฒญํ๋ ๊ฒฝ์ฐ 2๋ฅผ ์ ์กํด ๋ ์์ถ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๋ค.
- ๋ฌธ์์ด์ ํด๋นํ๋ ๋ฌธ์๋ค์ ์ซ์๋ค๋ก ์ ์กํ์.
- ๋์ ํ ์ด๋ธ์ ํ ์ด๋ธ์ ๋ด์ฉ์ ๋ณํํ์ง๋ง, ์์๊ฐ์ผ๋ก ์๋ก ์ฃผ๊ณ ๋ฐ์์ผ ํ๋ ๊ฐ(๋๋ฉ์ธ ์ฃผ์ ๋ฑ)์ ์ค์ ํ๊ณ ์ด๋ฅผ ์ซ์๋ฅผ ํตํด์ ์ฃผ๊ณ ๋ฐ์ ์ ์๋๋ก ํ๋ค.
- ํํ๋ง ์ฝ๋ฉ : ์ ํ์ ์ผ๋ก ๋ณํํ๋ ๊ฐ์ด ์๋ค๊ณ ํ๋ค๋ฉด ์ฐจ์ด๊ฐ๋ง ์ ์กํจ์ผ๋ก์จ ๋ฐ์ดํฐ๋ฅผ ์์ถํ๋ ๋ฐฉ์
- ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ํด๋ณด์. ์ด๋ฏธ์ง 1๊ณผ 10์ ์ง์ง ์ด๋ฏธ์ง.
- 1๊ณผ 10์ ์ฐจ์ด๊ฐ์ผ๋ก ๊ฐ์ง ์ด๋ฏธ์ง 5๋ฅผ ๋ง๋ ๋ค.
- ๊ฐ์ง ์ด๋ฏธ์ง์ 1๊ณผ์ ์ฐจ์ด๊ฐ์ผ๋ก ๊ฐ์ง ์ด๋ฏธ์ง 3์ ๋ง๋ ๋ค.
- ๋ค์์ ๋ฐฉ์์ ํตํด์ ๊ฐ์ง ์ด๋ฏธ์ง 2~9๋ฅผ ๋ง๋ ๋ค.
- ์ง์ง ์ด๋ฏธ์ง๋ ๋ฐ์ดํฐ ๊ฐ์ด ๋ง์ง๋ง, ๊ฐ์ง ์ด๋ฏธ์ง๋ ์ฐจ์ด๊ฐ๋ง์ ๊ฐ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ ์์ด ์ ๋ค.
Server Push
- ์๋ฒ๊ฐ ๋ณธ์ธ์ด ํ์ํ ์ ๋ณด๋ฅผ push ํ๋ค.
- HTTP 1.1์ ๊ฒฝ์ฐ ์์ฒญ์ ๋ฐ์์ผ ์๋ต๋ฐ๋ ํ์์ด์๋ค.
- HTTP 2.0์ ํตํด์ ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญ์ ํ์ง ์์๋ ํ์๊ฐ ์์๋๋ ๋ฆฌ์์ค๋ฅผ ์๋ฒ๊ฐ ๋จผ์ ์ ์กํ๋ ๋ฐฉ์
- ์ฌ์ฉ์๊ฐ ๋ด์ค๋ฅผ ๋ณด๊ณ next๋ฅผ ๋ง์ด ๋๋ฅธ๋ค๊ณ ํ๋ค๋ฉด next๋ฅผ ๋๋ฅด๋๋ฐ ํ์ํ ๋ด์ฉ์ ๋ฏธ๋ฆฌ ๋ณด๋ด์ด next๋ฅผ ๋๋ ์ ๋ ๋ ๋น ๋ฅด๊ฒ ์๋ต์ ์ฃผ๋ ๋ฐฉ์
HTTP/3
- TCP์ ๋ฌธ์ ์
- Slow Start ์ต์ด ์ฐ๊ฒฐ ์ ์ก์ ์๋๋ ๋ฐ๋์ ๋๋ฆฌ๋ค.
- ์คํธ๋ฆผ ํ๋์์ ํ๋ ์ ์์ค์ด ๋ฐ์ํ๋ฉด ๋ค๋ฅธ ์คํธ๋ฆผ๋ ๋ชจ๋ ์ฑ๋ฅ์ด ์ ํ๋๋ค.
- HTTP/2
- HPACK : ์์ถ
- HTTP/3
- TCP๋ฅผ ์์ ๊ณ QUIC๊ณผ UDP๋ฅผ ์ฌ์ฉํ๋ค.
- UDP : ํฌํธ ๋ฒํธ์ framing ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค.
- TCP ์ฐ๊ฒฐ์ ํ๋๋ก ๋์ด ์๊ณ , TCP ์์ ์คํธ๋ฆผ์ด ์ฌ๋ฌ ๊ฐ๋ก ๋๋์ด ์ฌ๋ฌ ์ผ์ ๋์์ ํ ์ ์๋ค๊ณ ํ์ง๋ง, ๊ฐ segment๋ค์ด ํ๋์ฉ ์ ์ก๋์ด์ผ ํจ์ ๋ณํจ์๋ค.
- ๋๋ฌธ์ ์คํธ๋ฆผ 1์ segment๊ฐ ์์ค๋๋ฉด ํด๋น segment๋ฅผ ์ฌ์ ์กํด ์์ ๋ฐ๊ธฐ ์ ๊น์ง์ ๋ค๋ฅธ segment๋ค์ด ๊ธฐ๋ค๋ ค์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํ๋ค.
QUIC
- TCP๋ฅผ ๋์ฒดํ๊ธฐ ์ํด ๋ง๋ค์ด์ก๋ค.
- QUIC์ UDP ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๊ฐ์ ์คํธ๋ฆผ์ด ๋ ๋ฆฝ์ ์ผ๋ก ์์ฉํ๋ค.
- ํ๋์ ์คํธ๋ฆผ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋๋ผ๋ ๋ค๋ฅธ ์คํธ๋ฆผ์๋ ์ํฅ์ ์ฃผ์ง ์๋๋ค.
Reduced Signaling Latency
-
์ผ์ชฝ โ ํธ๋์คํฌํธ ๊ณ์ธต์ TCP์ ์ฐ๊ฒฐ ์์ฒญ/์๋ต ํ๋ ๊ทธ๋ฆผ
-
์ค๋ฅธ์ชฝ โ QUIC์ ๋ํด ์์ฒญ๊ณผ ์๋ต์ ํ๋ ๊ทธ๋ฆผ
-
TCP์ ๊ฒฝ์ฐ ์ฐ๊ฒฐ ์์ฒญ์ ํ๋ฉฐ ์ํธํ๋ฅผ ์ํ ์ํ์ ์ฐ์ฐ์ด ๋ค์ด๊ฐ๋๋ฐ, ์ด ์ฐ์ฐ์ด ๊ต์ฅํ ๋ง์ ์๊ฐ์ ๋ถํ๋ฅผ ์ค๋ค.
-
HTTP/1.1์์ 8๊ฐ์ TCP ์ฐ๊ฒฐ์ ์ผ์ ๋์ ์๊ฐ์ HTTP/2์์๋ TCP๋ฅผ 1๊ฐ๋ง ์ฌ์ฉํจ์ผ๋ก์จ ์๊ฐ์ ๋ง์ด ์ค์๋ค.
-
QUIC์ ์ฌ์ฉํ HTTP/3์์๋ QUIC ์ฐ๊ฒฐ๊ณผ ๋์์ ํธ๋์คํฌํธ ๊ณ์ธต์ ์ฐ๊ฒฐ, ๋ณด์์ ๊ณผ์ ์ ๋์์ ์ฐ๊ฒฐํ ์ ์๋๋ก ๋ง๋ค์ด ๋ ์๊ฐ์ ์ค์๋ค.
- QUIC์ ์ฐ๊ฒฐ ์์ฒญ์ ํ๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ค.
- ์ด์ ์ ์ด๋ฏธ ์ฐ๊ฒฐ ์ค์ ์ ํด๋์ ์ํ๋ผ๋ฉด ์ธ์ฆ ์ ์ฐจ๋ฅผ ๊ฑฐ์น์ง ์๊ณ ์ด์ ์ ์ฐ๊ฒฐ์ ์ฌ์ฉํจ์ผ๋ก์จ ์๋๋ฅผ ์ฆ๊ฐ์์ผฐ๋ค.
HTTP/3 is โHTTP over QUICโ
- HTTP/3๋ HTTP/1.1, HTTP/2์ ์ ์ฌํ ๋ณ๋์ application์ด๋ค.
- QUIC์ HTTP/3๋ฅผ ๋๋ฅด๋ ๋ณ๋์ 4๊ณ์ธต ํ๋กํ ์ฝ์ด๋ค.
- HTTP/3์ HTTP/2๋ฅผ ๋น๊ตํด๋ณด๋ฉด HTTP/2์ ํฐ ์ฐจ์ด์ ์ ๊ฐ์ง๋ ์๋๋ค.
- ํ์ง๋ง HTTP/2์์ ์ฌ์ฉํ ์คํธ๋ฆผ์ HTTP/3์์๋ QUIC์ด ๋์ ํ๋ค.
SIP
- SIP(Session Initiation Protocol)
- ๋ฏธ๋์ด๋ฅผ ์ฌ์ฉํด ์ฃผ๊ณ ๋ฐ๋ ํต์ ํ๋กํ ์ฝ
- ์๋ก๊ฐ ์ฐ๊ฒฐ์ ํ๊ณ ๋ฏธ๋์ด๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋จ์ฒด
- ITF์์ ๋ง๋ค์ด์ง, ์ฑํ , ํ์ ํ์๋ฅผ ํ๋ ๋ฉํฐ ๋ฏธ๋์ด ์ธ์ ์ ๋ง๋ค๊ณ ์ฐ๊ฒฐ ์ค์ , ์ฐ๊ฒฐ ํด์ ๋ฅผ ํ๋ค.
- ์ฑํ ์ ๋ง๋๋ ์ญํ ๋ง ํ๊ณ ๋ฏธ๋์ด๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ ๋ค๋ฅธ ํ๋กํ ์ฝ์ ํ๋ค.
- HTTP์ ์ํฅ์ ๋ฐ์๋ค. 0, 1์ ๋นํธ ์ก์์ ์ด ์๋๋ผ human readableํ๊ฒ ๋ง๋ค์ด์ก๋ค.
- ์ค, ๊ตฌ๊ธ ๋ฏธํธ, ์นด์นด์ค ๋ณด์ด์ค
- ์ค์๊ฐ์ผ๋ก ์ฐ๊ฒฐ์์ฒญ ํ๊ณ ์ถ์ผ๋ฉด SIP invite๊ฐ ๊ฐ๋ค.
- ๊ณผ๊ฑฐ ์ ์ ์ ํ๊ธฐ์์๋ถํฐ ์จ ๋ฐฉ์
- ๋ค์์ ๋ ์๋ฆฌ๊ฐ ๋์ค๋๋ฐ ๋ฒํธ๊ฐ ๋์ค๋ฉด ์๋๋ฐฉ๊ณผ ์ฐ๊ฒฐ ์ค์ ์ ํ๋ค.
- ๋๊ตฐ๊ฐ ์ ํ ํ๋ก๊ทธ๋จ์ ๋๋ฉด SIP BYE๊ฐ ๊ฐ์ ์ฐ๊ฒฐ์ ๋๋๋ค.
- ์๋ฒ์ ๋ก๋ฏธ์ค, ์ค๋ฆฌ์ฃ์ด ํต์ ์ ํ๋ค๋ ๊ธฐ๋ก์ด ๋จ๋๋ค.
- MSRP : ์์ ๋ฐฉ. ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ๊ณต์ ํ๋ ์ธ์ ๋ฐฉ. ๊ตฌ๋ ๋ ์ฌ๋์๊ฒ ์ ๋ฌํ๋ ๋ฐฉ์
- SIP๋ ์ค๋๋ ํ๋กํ ์ฝ์ด๋ค.
- ๊ตฌ์ฒด์ ์ธ ๋จ๊ณ๋ฅผ ๊ตฌ๋ถํ๋ ๋ฐฉ์์ผ๋ก ์ฐจ๋ณํ ๊ฐ๋ฅ
- Delivered, Displayed โ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์นด์นด์คํก ์ฑํ ์ ์ฝ์๋์ง๋ฅผ ํ์ธ ๊ฐ๋ฅ
Advanced Web Technologies
WebRTC
-
WebRTC(Web Real-Time Communication) : ๋ฌด๋ฃ, ์คํ์์ค ํ๋ก์ ํธ์ด๋ค.
-
๊ตฌ๊ธ์์ ๋ง๋ ๊ธฐ์ .
-
์น ๊ธฐ๋ฐ์ผ๋ก ์ค์๊ฐ ํต์ ์ ํ ์ ์๋ ์คํ์์ค ํ๋ก์ ํธ
-
SIP๋ ์๋ฒ๊ฐ ์์ง๋ง WebRTC๋ ์๋ฒ๊ฐ ์๊ณ ์ง์ ์ ์ธ P2P ํต์ ์ ๋ง๋ค์๋ค.
-
์น๋ธ๋ผ์ฐ์ ์ ๋ค์ด๊ฐ ์๋ ๊ธฐ๋ณธ ํ์ํ์ ๊ธฐ๋ฅ์ด๋ค.
-
์น๋ธ๋ผ์ฐ์ ์์ ํ์ํ์, ์ ํ, ์ฑํ ์ ์ํ ๋ชจ๋ ๊ธฐ์ ์ด ๋ค์ด๊ฐ ์๋ค.
-
P2P ์ด์๊ณผ ํ์ค
-
์ด์์ ์ผ๋ก๋ ์๋ฒ๊ฐ ์๋ค. ํ์ง๋ง ์ด๋ ๊ณต์ ๊ธฐ๋ฅผ ๊ณต์ ํ๋ ๊ฐ๊น์ด ๊ฒฝ์ฐ์ ํด๋นํ๊ณ , ๋ฉ๋ฆฌ ์๋ค๋ฉด ์๋ฒ๊ฐ ํ์ํ๋ค.
-
STUN ์๋ฒ
-
A, B๋ ๊ฐ์ ์ ๋ฌด์ ๊ณต์ ๊ธฐ๊ฐ ๋ถ์ฌํ Private IP ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์ง๋ง ์ธ๋ถ์ ์๋ ์๋ฒ์ ํต์ ํ๋ ค๋ฉด NAT, PAT๋ฅผ ํต๊ณผํ Public IP ์ฃผ์๋ฅผ ์์์ผ ํ๋ค. ์ด๋ ๊ฒ, Public IP ์ฃผ์๋ฅผ ์ ๊ณตํ๋ ์ญํ ์ STUN ์๋ฒ๊ฐ ๋ด๋นํ๋ค.
-
Public IP ์ฃผ์๋ฅผ ์ ๊ณตํด์ผ ํ๊ธฐ ๋๋ฌธ์ STUN ์๋ฒ๋ ์ธํฐ๋ท ์ชฝ์ ์์นํ๋ค.
-
Signaling ์๋ฒ
-
1๋1 ํต์ ์ ๊ฒฝ์ฐ ์๋ฒ ์์ด P2P๋ก ์ฃผ๊ณ ๋ฐ์ ์ ์์ง๋ง, ์ฌ๋ฌ ๋ช ์ด ํต์ ํ๋ ค๋ฉด ์ฐ๊ฒฐ ์์ฒญ์ด ํ์ํ๋ฐ Signaling ์๋ฒ๊ฐ ์ด ์ญํ ์ ํ๋ค.
-
๋ฉ๋ฆฌ ๋จ์ด์ ธ ์๋ ๊ธฐ๊ธฐ ์ฌ์ด ์ฐ๊ฒฐ ์์ฒญ ๋ฐ ํด์ ๋ฅผ ํ๋ค.
-
Signaling ์๋ฒ๋ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ง๋ ์๋๋ค. ์ฐ๊ฒฐ ์ค์ ๋ง ํ๋ค.
-
Stun, Signaling ์๋ฒ๊ฐ ๊ตฌ๊ธ ๋ฏธํธ์์ ๋ด๋นํ๋ ์ญํ ์ด๋ค.
-
์ฆ, P2P ์๋ฒ๋ Turn ์๋ฒ๋ฅผ ํตํด์ ์ฃผ๊ณ ๋ฐ๋๋ค. ํธ๋ํฝ์ ์ด ์๋ฒ๋ฅผ ํตํด ์ ๋ฌ๋๋ค. ์ธ์ ๋ฐฉ์ด ๋ง์์ง์ ๋ฐ๋ผ ๋ฐ์ํ๋ ํธ๋ํฝ์ ์ํด ์๋ฒ๋ฅผ ์ฌ์ฉํ๋ค.
-
๊ตฌ๊ธ ๋ฏธํธ, ์ค ์ฑํ ๋ฐฉ์์ ๋ค์ด๊ฐ ์ ์๋ ์ธ์์ด ์ ํ๋๋ ์ด์
- ์ธ์์ด ์ ์ผ๋ฉด P2P๋ฅผ ํตํด์ ์ฃผ๊ณ ๋ฐ๋๋ค.
- ์ธ์์ด ๋ง์์ง๋ฉด ๋น์ฉ์ ์ง๋ถํด์ผ ํ๋๋ฐ, ์ฌ๋ฌ๋ช ์๊ฒ ์ ์กํ๋ ค๋ฉด ๋ธ๋ผ์ฐ์ ์ ์ ์ก ํ๊ณ๋ก ์ธํด ์ ์กํ๊ธฐ ํ๋ค์ด์ง๋ค.
- ๋๋ฌธ์ ์๋ฒ๋ฅผ ์ฌ์ฉํด์ผ ํ๊ณ , ์๋ฒ ์ฌ์ฉ ๋น์ฉ์ด ๋ฐ์ํ๋ค.
- transcoding โ ์๋ฒ๋ฅผ ํตํด ์งํํ๋ค?
- ํ์ํ์๋ฅผ ๋ง์น๊ณ ๋๋ฉด ์์์ ๊ธฐ๋กํ ์ ์๋๋ฐ ์๋ฒ์ ์์์ ์ ์ฅํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ ํ์ง์ ๊ฐ๋๋ค.
WebVR/WebXR
- ๋ฉํ๋ฒ์ค
- AR์ ์ ๋ง์ด ์์ ๋ฏ
- ์น ๋ธ๋ผ์ฐ์ ๋ก VR, AR์ ๋ง๋ค๊ณ ์ค์ด ๋๋ฅด๋ ๊ธฐ์
- Mozilla foundation์์ ์ ์ํ Mixed Reality ๊ธฐ์
asm.js
- ์น ๋ธ๋ผ์ฐ์ ์ ๋ํ C/C++
- ์ด์ ๋ธ๋ฆฌ์ด๋ฅผ js์ ํฉ์ณค์ผ๋ ๋งํ๋ค.
์น ์ด์ ๋ธ๋ฆฌ
- ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญ
- ๋ชจ๋ ์ธ์ด๋ฅผ ์ดํดํ ์ ์๋ ์น ์ด์ ๋ธ๋ฆฌ๋ฅผ ๋ง๋ค์ด ์ ์ฉ๋๋ ์ฝ๋๋ฅผ ์ง์ ๋ฃ์ผ๋ฉด ๋๋ค.
- ์น ์ด์ ๋ธ๋ฆฌ ์์์ ๋์๊ฐ๋ ๋ฐ์ด๋๋ฆฌ๋ก ๋ง๋ค์ด์ฃผ๊ณ , ์ฝ์ด์ ์คํํ๋ฉด ์คํ๋๋ค.
- ์น๋ธ๋ผ์ฐ์ , ์๋ฒ ๋ ๋ค ๋์๊ฐ ์ ์๋๋ก ํ๋ค.
WebGPU
- ๋ธ๋ผ์ฐ์ ๊ฐ GPU๋ฅผ ๊ฑด๋๋ฆด ์ ์๋๋ก ํ๋ค.
- ๋ณด์๋ณด๋ค ๋ ์ค์ํ ๊ฒ์ ์ฑ๋ฅ์ด ์๋๊น?
- ๋ธ๋ผ์ฐ์ ๊ฐ GPU, ํ๋์จ์ด ์์์ ์ง์ ์ ๊ทผํ๋ค.
- ๋ฒค์น๋งํฌ๋ฅผ ์ธก์ ํ์ ๋ WebGPU ์ฑ๋ฅ์ด ๋งค์ฐ ์ข๋ค.
Solid
- Web3.0 - blockchain
- Solid(Social linked data)
- ๋ด ์ ๋ณด์ ๋ํด ๋ด๊ฐ ๊ณต๊ฐ ์ ๋ฌด๋ฅผ ๊ฒฐ์ ํ๊ณ ํ์ฌ๋ ๋ด ์ ๋ณด๊ฐ ์๋ ์์น, ๋ฉํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ๊ฐ์ ์ค์ ํ๋ ์์ด๋์ด.