02. HTTP ๊ธฐ๋ณธ
Hyper Text Transfer Protocol : ๋คํธ์ํฌ ์์์ ํต์ ํ ๋ ์ฐ์ด๋ ํ๋กํ ์ฝ๋ก, ๊ฑฐ์ ๋ชจ๋ ํํ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๋ค. (ํ ์คํธ ๋ฟ๋ง์ด ์๋ ์ด๋ฏธ์ง, ์์ฑ, ์์, ํ์ผ, JSON, XML ๋ฐ์ดํฐ๊น์ง ์ ์ก ๊ฐ๋ฅ) ์๋ฒ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋๋ ๋๋ถ๋ถ HTTP ๋ฅผ ์ฌ์ฉํ๋ค.
๐ง ย 01. ํน์ง
- ํด๋ผ์ด์ธํธ ์๋ฒ ๊ตฌ์กฐ
- ๋ฌด์ํ ํ๋กํ ์ฝ(stateless), ๋น์ฐ๊ฒฐ์ฑ
- HTTP ๋ฉ์์ง
๐ง ย 02. ํด๋ผ์ด์ธํธ ์๋ฒ ๊ตฌ์กฐ
- ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์์ฒญ(request)์ ๋ณด๋ด๊ณ , ์๋ฒ๋ ๊ทธ์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด์ ์๋ต(response)ํ๋ค.
๐ง ย 03. ๋ฌด์ํ ํ๋กํ ์ฝ (stateless)
- ํต์ ํ ๋ ์ํ๊ฐ ์ ์ง๋์ง ์๋๋ค. (์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ ๋ณด๋ฅผ ๋ณด์กดํ์ง ์๋๋ค.)
- ์ฅ์ : ์๋ฒ ํ์ฅ์ฑ์ด ๋๋ค.
- ๋จ์ : ํด๋ผ์ด์ธํธ๊ฐ ์ถ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์กํด์ผ ํ๋ค.
๐ค ๋ฌด์ํ ํ๋กํ ์ฝ์ด ๋ญ์ง? ์์๋ก ์ค๋ช
!
๊ณ ๊ฐ : ๋
ธํธ๋ถ ์ผ๋ง์์?
์ ์A : 100๋ง์ ์
๋๋ค.
๊ณ ๊ฐ : ๋
ธํธ๋ถ 2๊ฐ ์ด๊ฒ์.
์ ์B : 200๋ง์ ์
๋๋ค. ๊ฒฐ์ ๋ ์ด๋ป๊ฒ ํ์๊ฒ ์ด์? ์ ์ฉ์นด๋, ํ๊ธ ๊ฐ๋ฅํฉ๋๋ค.
๊ณ ๊ฐ : ๋
ธํธ๋ถ 2๊ฐ ์ ์ฉ์นด๋๋ก ๊ฒฐ์ ํ ๊ฒ์.
์ ์C : ๊ฒฐ์ ๋์์ต๋๋ค.
โญ๏ธ ๊ณ ๊ฐ(ํด๋ผ์ด์ธํธ)์ด ์ถ๊ฐ ๋ฐ์ดํฐ(๊ตฌ๋งคํ ๋ฌผํ, ์๋, ๊ฒฐ์ ๋ฐฉ์)๋ฅผ ๊ณ์ ์ ์กํ๊ธฐ๋ง ํ๋ค๋ฉด ์ ์(์๋ฒ) ์
์ฅ์์๋ ์ํ๋ฅผ ์ ์งํ ํ์๊ฐ ์๋ค.
โญ๏ธ ์ด๋ฐ ๋ฐฉ์์ด๋ผ๋ฉด ํด๋ผ์ด์ธํธ ์์ฒญ์ด ๊ฐ์๊ธฐ ์ฆ๊ฐํด๋ ์๋ฒ๋ฅผ ์ฆ์คํ๋ฉด ๊ฐ๋จํ ์ฒ๋ฆฌํ ์ ์๋ค. (์๋ฒ์ ํ์ฅ์ฑ์ด ๋๋ค)
๐ฌ ๋ฌผ๋ก ๋ชจ๋ ์๋น์ค๋ฅผ ๋ฌด์ํ๋ก ์ด์ํ ์๋ ์๋ค. (๋ก๊ทธ์ธ ํ๋ ๊ฒฝ์ฐ ๋ก๊ทธ์ธํ ์ํ๋ฅผ ์ ์งํด์ผ ํ๊ธฐ ๋๋ฌธ์โฆ) ์ผ๋ฐ์ ์ผ๋ก๋ ๋ธ๋ผ์ฐ์ ์ฟ ํค, ์๋ฒ ์ธ์ ๋ฑ์ ์ฌ์ฉํด์ ์ํ๋ฅผ ์ ์งํ๋ค.
๐ง ย 04. ๋น์ฐ๊ฒฐ์ฑ
HTTP๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐ๊ฒฐ์ ์ ์งํ์ง ์๋๋ค. ์๋ํ๋ฉด, 1์๊ฐ๋์ ์์ฒ๋ช ์ด ์๋น์ค๋ฅผ ์ฌ์ฉํ๋ค ํด๋ ์ค์ ์๋ฒ์์ ๋์์ ์ฒ๋ฆฌํ๋ ์์ฒญ์ ์์ญ๊ฐ ์ดํ๋ก ๋งค์ฐ ์ ๊ธฐ ๋๋ฌธ์ ์ฐ๊ฒฐ์ ์ ์งํ ํ์๊ฐ ์๋ ๊ฒ์ด๋ค. (์์ : ์น ๋ธ๋ผ์ฐ์ ์์ ์ฐ์ํด์ ๊ฒ์ ๋ฒํผ์ ๋๋ฅด์ง ์์)
๊ทธ๋ฌ๋ ํด๋ผ์ด์ธํธ๊ฐ ๊ฒ์ ๋ฒํผ์ ๋ค์ ๋๋ฅผ ๊ฒฝ์ฐ, TCP/IP ์ฐ๊ฒฐ์ ์๋ก ๋งบ์ด์ผ ํ๋ค. ์ฆ ์๊ฐ์ด ์ถ๊ฐ๋๋ค.
์ด๋ฌํ ๋จ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด ์ง๊ธ์ ์ง์ ์ฐ๊ฒฐ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์๋ค.