1. HTTP protocol
HyperText Transfer Protocol
์์์ ๋งํ TCP/IP๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ํ๋กํ ์ฝ, ํด๋ผ์ด์ธํธ์ ์๊ตฌ์ ๋ง๋ ์๋ฒ๊ฐ ์์ ์ ํ๋ค.
HTTP๋ TCP/IPํ๋กํ ์ฝ์ ๊ธฐ๋ฐ์ผ๋ก ํ ํ๋กํ ์ฝ. ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ HTTP์์ฒญ ๋ฐ ์๋ต์ ํ ์ ์๋ค.
HTTP๋ ๋ชจ๋ ๊ฒ์ ์ ์กํ๋ค. ์๋ฒ ๊ฐ์ ํต์ ํ ๋๋ TCP๋ฅผ ์ง์ ์ฐ๊ฒฐํ๊ธฐ ๋ณด๋ค๋ ๋๋ถ๋ถ HTTP๋ฅผ ์ฌ์ฉํ๋ค.
1-1) HTTP ์ญ์ฌ
- HTTP/0.9 1991๋ : GET ๋ฉ์๋๋ง ์ง์, HTTP ํค๋X
- HTTP/1.0 1996๋ : ๋ฉ์๋, ํค๋ ์ถ๊ฐ
- HTTP/1.1 1997๋ : ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ, ์ฐ๋ฆฌ์๊ฒ ๊ฐ์ฅ ์ค์ํ ๋ฒ์
- RFC2068 (1997) -> RFC2616 (1999) -> RFC7230~7235 (2014)
- HTTP/2 2015๋ : ์ฑ๋ฅ ๊ฐ์
- HTTP/3 ์งํ์ค: TCP ๋์ ์ UDP ์ฌ์ฉ, ์ฑ๋ฅ ๊ฐ์
HTTP/1.1๊ณผ HTTP/2๋ TCP ์์์ ๋์ํ๋ค. HTTP/3๋ UDP ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐ์ด ๋์๋๋ฐ,
TCP๋ 3 way handshake๋ ์จ์ผํ๊ณ , ๋ฃ์ด์ผ ํ ๋ฐ์ดํฐ๋ ๋ง๊ณ , ์๋๊ฐ ๋น ๋ฅธ ๊ตฌ์กฐ๊ฐ ์๋๊ธฐ์ UDP๋ฅผ ์ฌ์ฉํ๊ฒ ๋์๋ค.
1-2) HTTP ํน์ง
- ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ตฌ์กฐ
- ๋ฌด์ํ ํ๋กํ ์ฝ(stateless), ๋น์ฐ๊ฒฐ์ฑ
- HTTP ๋ฉ์์ง
- ๋จ์ํจ, ํ์ฅ ๊ฐ๋ฅ์ฑ
2. ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ตฌ์กฐ
ํด๋ผ์ด์ธํธ๋ HTTP๋ฅผ ํตํด ์๋ฒ์ ์์ฒญํ๊ณ , ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์๋ต์ด ์ฌ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ค๊ฐ ์๋ต์ด ์ค๋ฉด ๋์ํ๋ค.
์ด๊ธฐ์๋ ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ํฉ์ณ์ ธ ์์๋ค. ํ์ฌ๋ ๋น์ง๋์ค ๋ก์ง& ๋ฐ์ดํฐ๋ ์๋ฒ์ ์๊ณ , ํด๋ผ์ด์ธํธ๋ UI์ ์ค์ ์ ๋๊ฒ ๋์๊ณ , ์ด๋ฅผ ํตํด ๋ ๋ฆฝ์ ์ธ ์งํ๊ฐ ๊ฐ๋ฅํด์ก๋ค.
3. stateless
HTTP๋ connectionless,stateless ํน์ฑ์ด ์๋๋ฐ, ์ฐ๊ฒฐ์ ์ ์งํ์ง ์๊ณ , ์ํ๋ฅผ ์ ์งํ์ง ์๋๋ค๋ ๋ป์ด๋ค.
connectionless: ์๋ฒ์ ํด๋ผ์ด์ธํธ์ ํต์ ์ด ๋ฐ์ํ๊ณ ๋๋ฉด ์ฐ๊ฒฐ์ด ๋ฐ๋ก ๋์ด์ง๋ค.
stateless: ์ด์ ์ ํต์ ์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ง ์๊ธฐ ๋๋ฌธ์ ์๋กญ๊ฒ ๊ฐฑ์ ํด์ค์ผ ํ๋ค.
์ฆ, ๊ฐ๊ฐ์ ์์ฒญ/์๋ต์ ๋ ๋ฆฝ์ ์ธ ์์ฒญ/์๋ต์ผ๋ก ์ ์ ๋ณด๋ธ ์์ฒญ ๋ฐ ์๋ต์ ์์ง ๋ชปํ๋ค. ๋ฐ๋ผ์ ์ด๋ฌํ ์งํ ๊ณผ์ ์ด๋ ๋ฐ์ดํฐ๊ฐ ํ์ํ ๋์๋ ์ฟ ํค๋ ์ธ์ ๋ฑ์ ํ์ฉํ๋ค.
stateful, stateless
์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์ํ๋ฅผ ๋ณด์กดํ์ง ์๋๋ค. ์์๋ฅผ ํตํด ์์๋ณด์!!
stateful
- ๊ณ ๊ฐ: ์ด ๋ ธํธ๋ถ ์ผ๋ง์ธ๊ฐ์?
- ์ ์: 100๋ง์
- ๊ณ ๊ฐ: 2๊ฐ ์ด๊ฒ์.
- ์ ์: 200๋ง์. ๋ญ๋ก ๊ฒฐ์ ํ์ค๊ฑด๊ฐ์?
- ๊ณ ๊ฐ: ์นด๋์ฌ์ฉํ ๊ฒ์
- ์ ์: 200๋ง์ ๊ฒฐ์ ์๋ฃ.
๋ฌธ์ ์๋ ๊ฒ ๊ฐ๋ค. ํ์ง๋ง, ์ฌ๋ฌ ์ ์์ด ์ญํ ์ ๋๋์ด ํ๋งคํ๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น?
- ๊ณ ๊ฐ: ์ด ๋ ธํธ๋ถ ์ผ๋ง์ธ๊ฐ์?
- ์ ์A: 100๋ง์
- ๊ณ ๊ฐ: 2๊ฐ ์ด๊ฒ์.
- ์ ์B: ๋ฌด์จ ์ ํ์ ๊ตฌ๋งคํ์๋๊ฑด๊ฐ์?
- ๊ณ ๊ฐ: ์นด๋์ฌ์ฉํ ๊ฒ์
- ์ ์C: ๋ฌด์จ ์ ํ์ ์นด๋๋ก ๊ตฌ๋งคํ์๋๊ฑด๊ฐ์?
B,C๋ ๋ชจ๋ฅด๊ธฐ์ ๋นํฉ์ค๋ฝ๋ค.
์ ๋ฆฌํ์๋ฉด
์ฒซ ๋ฒ์งธ ์ผ์ด์ค๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ ธํธ๋ถ์ ๊ตฌ๋งคํ๊ณ ์ถ๋ค๋ ์ํ๋ฅผ ์๊ณ ์๋ค. ๊ทธ ์ํ๋ฅผ ์๊ณ ์๊ธฐ ๋๋ฌธ์ ๊ฒฐ์ ์๋จ์ ๋ฌผ์ด๋ณธ๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก “๋ ธํธ๋ถ ์ฐ๋ค”, “2๊ฐ ์ฐ๋ค”, “์นด๋๋ก ๊ตฌ๋งคํ๋ค”๋ ์ํ๋ฅผ ์ ์งํ๊ฒ ๋๋ค.
ํ์ง๋ง ๋ ๋ฒ์งธ ์ผ์ด์ค์ ๊ฒฝ์ฐ, ์ ์์ด ๊ณ ๊ฐ์ ์ํ๋ฅผ ์ ์งํ์ง ์๋๋ค. ๋ฐ๋ผ์ ๊ณ ๊ฐ์ ๋ฌผ์ด๋ณผ ๋๋ง๋ค ๋งค๋ฒ ๋ฌด์์ ๋ช๊ฐ, ์ด๋ค ๊ฒฐ์ ์๋จ์ ์ฌ์ฉํ ์ง ๋งํด์ค์ผ ํ๋ค.
stateless
- ๊ณ ๊ฐ: ์ด ๋ ธํธ๋ถ ์ผ๋ง์ธ๊ฐ์?
- ์ ์A: 100๋ง์
- ๊ณ ๊ฐ: “๋ ธํธ๋ถ 2๊ฐ” ์ด๊ฒ์.
- ์ ์B: ๋ ธํธ๋ถ 2๊ฐ 200๋ง์์ ๋๋ค. ํ๊ธ์ธ๊ฐ์? ์นด๋์ธ๊ฐ์?
- ๊ณ ๊ฐ: “๋ ธํธ๋ถ 2๊ฐ ์นด๋์ฌ์ฉ”ํ ๊ฒ์
- ์ ์C: 200๋ง์ ๊ฒฐ์ ์๋ฃ์ ๋๋ค.
stateless๋ ์ ์์ด ๋ฐ๋๋๋ผ๋ ๊ณ ๊ฐ์ด ๋งค๋ฒ ๋ช ํํ๊ฒ ๋งํด์ฃผ๊ธฐ์ ์ฌ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ ์ ์๋ค.
๋ฐ๋ผ์ stateless๋ก ์ค๊ณํ๋ฉด ํ์ฅ์ ๋ฌดํํ ํ ์ ์๋ค.
๊ทธ๋ฆผ์ผ๋ก ๋ค์ ์์๋ณด์
stateful ์ผ ๊ฒฝ์ฐ ์๋ฒ1์ด ๋ด ์ ๋ณด๋ฅผ ๊ฐ๊ณ ์์ด์ ์๋ฒ1ํ๊ณ ๋ง ํต์ ์ด ๊ฐ๋ฅํ๋ค. ๋ง์ฝ ์ค๊ฐ์ ์๋ฒ1์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด ํด๋ผ์ด์ธํธ A๋ ๋ค์ ํด์ผํ๋ค.
๋ฐ๋ฉด์ stateless๋ ํด๋ผ์ด์ธํธ๊ฐ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ค ๋ณด๋ธ๋ค. ์๋ฒ๋ ์ํ๋ฅผ ๋ณด๊ดํ์ง ์๊ณ ํ์ํ ์๋ต๋ง ํ๊ณ , ์๋ฒ1์ด ์ฅ์ ๊ฐ ๋ฐ์ํด๋ ์ค๊ณ ์๋ฒ์์ ์๋ฒ2๋ก ์์ฒญ์ ๋์ ธ์ ์ฌ๋ฐ๋ฅธ ์๋ต์ ๋ฐ์ ์ ์๋ค.
stateless ๋ ์๋ฒํ์ฅ(scale out)์ด ์ ๋ฆฌํ๋ค.
stateless์ ์ค๋ฌด ํ๊ณ
- ๋ชจ๋ ๊ฒ์ ๋ฌด์ํ๋ก ์ค๊ณ ํ ์ ์๋ ๊ฒฝ์ฐ๋ ์๊ณ ์๋ ๊ฒฝ์ฐ๋ ์๋ค.
- ์ด๋ฒคํธ ์๊ฐ ํ์ด์ง์ฒ๋ผ ์๋ฌด ์ ๋ณด๋ฅผ ๋ด์ ํ์๊ฐ ์๋ ํ์ด์ง๋ ๋ฌด์ํ๋ก ๋ง๋ค๊ธฐ๊ฐ ์ฝ์ง๋ง ๋ก๊ทธ์ธ์ฒ๋ผ ์ ์ ๊ฐ ๋ก๊ทธ์ธํ๊ณ ์๋ค๋ ์ํ๋ฅผ ์ ์งํด์ผ ํ๋๊ฒฝ์ฐ, ์ํ๋ฅผ ์ ์งํ์ง ์์ผ๋ฉด ๋ก๊ทธ์ธ์ด ํ๋ ค๋ฒ๋ฆฐ๋ค.
- ์ด๋ด๋๋ ๋ธ๋ผ์ฐ์ ์ ์๋ ์ฟ ํค์ ์ธ์ ์ ์กฐํฉํด ์ํ ์ ์ง ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ๋ ํ๋ฉฐ, ์ด์ฉ ์ ์๋ ๊ฒฝ์ฐ์๋ง ์ํ ์ ์ง๋ฅผ ์ต์ํ์ผ๋ก ์ฌ์ฉํ๋ค.
- ๋ฐ์ดํฐ๋ฅผ ๋๋ฌด ๋ง์ด ๋ณด๋ธ๋ค.
์ ๋ฆฌ
stateful
์ค๊ฐ์ ๋ค๋ฅธ ์ ์์ผ๋ก ๋ฐ๋๋ฉด ์๋๋ค.
์ค๊ฐ์ ๋ค๋ฅธ ์ ์์ผ๋ก ๋ฐ๋๋ค๋ฉด ์ํ ์ ๋ณด๋ฅผ ๋ค๋ฅธ ์ ์์๊ฒ ๋ฏธ๋ฆฌ ์๋ ค์ค์ผ ํ๋ค.
stateless
์ค๊ฐ์ ๋ค๋ฅธ ์ ์์ผ๋ก ๋ฐ๋์ด๋ ๋๋ค.
๊ฐ์๊ธฐ ํด๋ผ์ด์ธํธ ์์ฒญ์ด ์ฆ๊ฐํด๋ ์๋ฒ๋ฅผ ๋๊ฑฐ ํฌ์ ํ ์ ์๋ค.
์๋ต ์๋ฒ๋ฅผ ์ฝ๊ฒ ๋ฐ๋ ์ ์๊ธฐ์ ๋ฌดํํ ์๋ฒ ์ฆ์ค์ด ๊ฐ๋ฅํ๋ค.
๋ฐ๋ผ์ ์ต๋ํ stateless๋ก ์ค๊ณํ๊ณ ์ด์ ์ ์๋ ๊ฒฝ์ฐ์๋ง stateful๋ก ์ค๊ณํ๋ฉด ๋๋ค.
4. connectionless
- ์ฐ๊ฒฐ์ ์ ์งํ๋ ๋ชจ๋ธ
ํด๋ผ์ด์ธํธ 1์ด TCP/IP ์ฐ๊ฒฐ์ ํตํด ์์ฒญ๊ณผ ์๋ต์ ๋ฐ๋ ์ํฉ์ ์๊ฐํด๋ณด์.
ํด๋ผ์ด์ธํธ 2, 3์ด ์์ฒญ์ ๋ณด๋ผ ๋์๋ ํด๋ผ์ด์ธํธ 1์ ๊ณ์ ์ฐ๊ฒฐ๋์ด ์๊ณ , ๊ทธ๋์ ์ด ์ฐ๊ฒฐ์ ์ ์งํ๋ ๋ฐ์ ์๋ฒ์ ์์์ด ์๋ชจ๋๋ค.
- ์ฐ๊ฒฐ์ ์ ์งํ์ง ์๋ ๋ชจ๋ธ
ํด๋ผ์ด์ธํธ 1์ด ์์ฒญ์ ๋ํ ์๋ต์ ๋ฐ์ผ๋ฉด ์ฐ๊ฒฐ์ ์ข ๋ฃํ๋ค.
๋ฐ๋ผ์ ํด๋ผ์ด์ธํธ2์ ์์ฒญ์ ๋ํ ์๋ต์ ๋ฐ์๋๋ ํด๋ผ์ด์ธํธ1๊ณผ ํ ๋ฐฉ๋ฒ์ฒ๋ผ ํ๋ฉด ๋ฌธ์ ๊ฐ ์๋ค.
์๋ฒ๋ ํ์ฌ ์์ฒญ์ ์ฃผ๊ณ ๋ฐ์ ๋์๋ง ์ฐ๊ฒฐ์ ์ ์งํด, ์ฌ์ฉํ๋ ์์์ ์ต์ํ์ผ๋ก ์ค์ผ ์ ์๋ค.
ํ๊ณ์
๋น์ฐ๊ฒฐ์ฑ์ ๊ฒฝ์ฐ TCP/IP ์ฐ๊ฒฐ์ ๋งค๋ฒ ์๋ก ํด์ผํ๊ธฐ์, 3 way handshake ์๊ฐ์ด ์ถ๊ฐ๋๊ณ , ๋งค๋ฒ HTML, ์๋ฐ์คํฌ๋ฆฝํธ, CSS, ์ด๋ฏธ์ง ์์์ ๊ฐ์ด ๋ค์ด๋ฐ๊ธฐ์ ๋นํจ์จ์ ์ด๋ค.
ํ๊ณ์ ๊ทน๋ณต
ํ์ฌ๋ HTTP ์ง์ ์ฐ๊ฒฐ(Persistent Connections)๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์๋ค.
HTTP/2, HTTP/3(UDP๋ TCP ์ ๋ฌ๋ฆฌ 3-way handshake๋ฅผ ์ฌ์ฉํ์ง ์๊ณ , HTTP/3๋ UDPํต์ )์์ ๋ฌธ์ ๊ฐ ๋ง์ด ์ต์ ํ ๋์๋ค.
์ด๊ธฐ์๋ ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ๋ฉด HTML์ ์๋ต๋ฐ๊ณ , ๋ฐ๊ณ ๋ณด๋ ์๋ฐ ์คํฌ๋ฆฝํธ๊ฐ ํ์ํ๋ฉด ๋ ์๋ต๋ฐ๋ ๋ฐฉ์์ด์๋ค. ์ง์ ์ฐ๊ฒฐ(Persistent Connection)์ด ๋์ ๋์ด ํ๋์ ์ฐ๊ฒฐ์ ํตํด ์ฌ๋ฌ ์์ฒญ๊ณผ ์๋ต์ ์ฃผ๊ณ ๋ฐ์ ์ ์๋๋ก ๋์๋ค. ์ ์งํ ์ํ์์ ๊ณ์ ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ต์ ๋ฐ๊ณ , ๊ทธ๋ ๊ฒ ์์ ์ด ๋ค ์ข ๋ฃ๋ ์ดํ์ ์ฐ๊ฒฐ์ ์ข ๋ฃํ๋ค.
์๋ฌธ
“http์ ํน์ฑ์ด ๋น์ฐ๊ฒฐ์ฑ์ธ๋ฐ, ๋น์ฐ๊ฒฐ์ฑ์ ๋จ์ ๋ค๋ก ์ธํด ์ง์ ์ฐ๊ฒฐ์ด ๋์ค๊ฒ๋์๊ณ , ๊ทธ๋ผ ๊ฒฐ๊ตญ ๋น์ฐ๊ฒฐ์ฑ์ ํน์ฑ์ด ์์ด์ง๊ฑฐ ์๋๊ฐ” ๋ผ๋ ์๊ฐ์ ํด๋ดค๋๋ฐ,
ํ์ฌ์ HTTP๋ ๋น์ฐ๊ฒฐ์ฑ์ ์์ ํ ์์ค ๊ฒ์ ์๋์ง๋ง, ์ง์ ์ฐ๊ฒฐ์ ์ฌ์ฉํ์ฌ ์ฑ๋ฅ์ ์ต์ ํํ๊ณ ํจ์จ์ฑ์ ๋์ด๋ ๋ฐฉํฅ์ผ๋ก ๋ฐ์ ํ๊ณ ์ฌ์ ํ ์ง์ ์ฐ๊ฒฐ์ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ์๋ ๊ฐ ์์ฒญ๋ง๋ค ์๋ก์ด ์ฐ๊ฒฐ์ ๋งบ๊ฒ ๋๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
5. HTTP ๋ฉ์์ง
HTTP ๋ฉ์์ง๋ ์์ ๋ผ์ธ, ํค๋, ๊ณต๋ฐฑ ๋ผ์ธ, ๋ฐ๋๋ก ๊ตฌ์ฑ๋๋ค.
๊ณต๋ฐฑ ๋ผ์ธ์ ๋ฐ๋์ ์์ด์ผ ํ๋ฉฐ, ๋ง์ฝ ๋ณด๋ผ ๋ฐ๋๊ฐ ์๋ค๋ฉด ๊ณต๋ฐฑ๋ง ๋ฃ๊ณ ๋๋ด๋ฉด ๋๋ค.
1. ์์ ๋ผ์ธ
start-line = request-line + status-line
์์ฒญ ๋ฉ์์ง(request-line) = method SP request-target SP HTTP-version CRLF
- http method + SP(๊ณต๋ฐฑ)
GET, POST ๋ฑ
- request target(path) + SP(๊ณต๋ฐฑ)
/search?q=hello&hl=ko
absolute-path[?query] (์ ๋๊ฒฝ๋ก[?์ฟผ๋ฆฌ])
์ ๋ ๊ฒฝ๋ก = “/” ๋ก ์์ํ๋ ๊ฒฝ๋ก๋ค. ์ถ๊ฐ๋ก * ํน์ http://...?x=y ์ ๊ฐ์ ํํ๋ ์๋ค.
- http version + CRLF(์ํฐ)
http ๋ฒ์
์๋ต ๋ฉ์์ง(status-line) = HTTP-version SP status-code SP reason-phrase
- http version + SP(๊ณต๋ฐฑ)
http ๋ฒ์
- status-code + SP(๊ณต๋ฐฑ)
ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ ์์ฒญ์ด ์ฑ๊ณต์ธ์ง ์คํจ์ธ์ง ๋ํ๋ธ๋ค.
200: ์ฑ๊ณต
400: ํด๋ผ์ด์ธํธ ์์ฒญ ์ค๋ฅ
500: ์๋ฒ ๋ด๋ถ ์ค๋ฅ
- reason-phrase + CRLF(์ํฐ)
์ฌ๋์ด ์ดํดํ ์ ์๋ ์งง์ ์ํ ์ฝ๋ ์ค๋ช ์ด๋ค.
2. HTTP ํค๋
header-field = field-name “:” own field-value OWS
- field-name + : + OWS(๋์ด์ฐ๊ธฐ ํ์ฉ)
๋์๋ฌธ์ ๊ตฌ๋ถ์ด ์๋ค.
ex) host + ๊ณต๋ฐฑ + : ๋ ์๋๋ค. HOST: ์ ๋๋๋ฐ, HOST : ์ ์๋๋ค๋ ๊ฒ
- field-value OWS(๋์ด์ฐ๊ธฐ ํ์ฉ)
๋์๋ฌธ์ ๊ตฌ๋ถ์ด ์๋ค.
- ํค๋์ ์ฉ๋
HTTP ์ ์ก์ ํ์ํ ๋ชจ๋ ๋ถ๊ฐ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ค.
ex) ๋ฉ์์ง ๋ฐ๋์ ๋ด์ฉ(html์ธ์ง ๋ฑ), ๋ฉ์์ง ๋ฐ๋์ ํฌ๊ธฐ, ์์ถ ์ฌ๋ถ, ์ธ์ฆ, ์์ฒญ ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ ) ์ ๋ณด, ์๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด, ์บ์ ๊ด๋ฆฌ ์ ๋ณด…
ํ์ค ํค๋๊ฐ ๋๋ฌด ๋ง๋ค.
ํ์ํ๋ค๋ฉด ์์์ ํค๋๋ฅผ ์ถ๊ฐํ ์ ์๋ค. helloworld: hi
3. HTTP ๋ฉ์์ง ๋ฐ๋
์ค์ ์ ์กํ ๋ฐ์ดํฐ๋ฅผ ๋ด๋๋ค.
HTML ๋ฌธ์, ์ด๋ฏธ์ง, ์์, JSON ๋ฑ byte๋ก ํํํ ์ ์๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๋ค.
์ ๋ฆฌ
- HTTP๋ ๋จ์ํ๋ค.
- HTTP ๋ฉ์์ง์ ๋ชจ๋ ๊ฒ์ ์ ์ก
- HTTP/1.1์ ๊ธฐ์ค์ผ๋ก ํ์ต
- ํด๋ผ์ด์ธํธ ์๋ฒ ๊ตฌ์กฐ
- ๋ฌด์ํ ํ๋กํ ์ฝ(stateless)
- HTTP ๋ฉ์์ง ๊ตฌ์กฐ
- ๋จ์ํจ, ํ์ฅ ๊ฐ๋ฅ
'๐ผ๋ฐฑ์ค๋ > HTTP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
6. HTTP ์ํ ์ฝ๋ (1) | 2024.01.09 |
---|---|
5. HTTP ๋ฉ์๋ ํ์ฉ (1) | 2024.01.09 |
4. HTTP API ๋ฉ์๋ (2) | 2024.01.09 |
2. URI์ ์น ๋ธ๋ผ์ฐ์ ์์ฒญ ํ๋ฆ (0) | 2024.01.09 |
1. ์ธํฐ๋ท ๋คํธ์ํฌ (0) | 2024.01.09 |