728x90
๋ฐ์ํ
HTTP
- ์ธํฐ๋ท์์์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ํ ํ๋กํ ์ฝ๋ก, TCP/IP 4๊ณ์ธต์์ ์์ฉ ๊ณ์ธต์ ์ํจ.
- ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ํต์ ํ๊ธฐ ์ํด ์ ํํ๋ ๋ฐ์ดํฐ์ธ HTTP ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ์.
HTTP ํน์ง
- ๋น์ฐ๊ฒฐ์ฑ(Connectionless)
- ํด๋ผ์ด์ธํธ์์ ์์ฒญ์ ๋ณด๋ธ ํ ์๋ฒ๋ก๋ถํฐ ์๋ต์ ๋ฐ์ผ๋ฉด ์ฐ๊ฒฐ์ ๋๋ ๊ฒ
- ๋น์ฐ๊ฒฐ์ฑ์ ๋ถํน์ ๋ค์๋ฅผ ๋์์ผ๋ก ํ๋ ์๋น์ค์ ์ ๋ฆฌ.
- ์๋ฒ์์ ์๋ต์ ๋ฐ๊ณ ๋์๋ ์ฐ๊ฒฐ์ ์ ์งํ๋ ค๋ฉด ๊ทธ๋งํผ ์์์ ์ฌ์ฉํ๊ฒ ๋จ. โก๏ธ ๋น์ฐ๊ฒฐ์ฑ์ ์ฐ๊ฒฐ์ ์ ์งํ์ง ์์์ผ๋ก์จ ์์์ ์๋ ์ ์์.
- ์ฐ๊ฒฐ์ ์ ์งํ์ง ์๊ธฐ ๋๋ฌธ์ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ๋ฅผ ๊ธฐ์ตํ ์ ์์.
- ๋์ผํ ํด๋ผ์ด์ธํธ์์ ์ฐ์์ ์ผ๋ก ์์ฒญ์ด ์ค๋ฉด ์ฐ๊ฒฐ๊ณผ ์ฐ๊ฒฐ ํด์ ๊ณผ์ ์ ๋ฐ๋ณตํ๊ฒ ๋์ด ์์์ ๋ญ๋นํ๊ฒ ๋จ.
- ๋จ์ ์ ๋ณด์ํ๊ธฐ ์ํด ์ผ์ ์๊ฐ ๋์ ์ฐ๊ฒฐ์ ์ ์งํ ์ ์๋๋ก HTTP Keep Alive๋ฅผ ์ฌ์ฉํจ. โก๏ธ ๋ง์ง๋ง ์๋ต ์ดํ ์ผ์ ์๊ฐ ๋์ ์ฐ๊ฒฐ์ ์ ์งํด ๋์ผํ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์์ฒญ์ด ์ค๋ฉด ์ฐ๊ฒฐ ๊ณผ์ ์๋ต ๊ฐ๋ฅ.
- ๋ฌด์ํ(Stateless)
- ์๋ฒ์์ ํด๋ผ์ด์ธํธ์ ์ํ๋ฅผ ์ ์ฅํ์ง ์๋ ๊ฒ
- ํด๋ผ์ด์ธํธ๊ฐ ์ด์ ์ ์์ฒญํ ์ฌํญ์ ์๋ฒ์ ์ ์ฅํ์ง ์์. โก๏ธ ํด๋ผ์ด์ธํธ๋ ์์ฒญ์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ๊ฐ์ง๊ณ ์๊ฑฐ๋ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ๋ฐ์ ์์ฒญ ์ฌํญ์ ๋ชจ๋ ์ ์ฅํด์ผ ํจ. ์ด ๋ฐฉ๋ฒ๋ค์ ๊ฐ๊ฐ
์ฟ ํค(Cookie)
์์ธ์ (Session)
์ด๋ผ๊ณ ํจ. - ์๋ฒ ํ์ฅ์ฑ์ด ๋์. ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์๋ตํ๋ ์๋ฒ๊ฐ ๋ฐ๋์ด๋ ๋๊ธฐ ๋๋ฌธ์ ์๋ฒ๋ฅผ ๊ณ์ ํ์ฅํด๋ ๋จ. โก๏ธ ํน์ ์๋ฒ์ ๋ฌธ์ ๊ฐ ์๊ฒจ ์๋ตํ์ง ๋ชปํ๋ ๋ฌธ์ ์ ๋ณด์ ๊ฐ๋ฅ.
HTTPS
- ๋ณด์ ๊ณ์ธต์ธ SSL/TLS๋ฅผ ์ด์ฉํด HTTP์ ๋ณด์์ ๊ฐํํ ์น ํต์ ํ๋กํ ์ฝ.
- HTTP๋ ๋ฐ์ดํฐ ์ํธํ๋ฅผ ๊ฑฐ์น์ง ์๊ณ ์ ์กํด์ ๋ณด์์ ์ทจ์ฝํจ. ์ด๋ฅผ ๋ณด์ํ HTTPS ๋ฑ์ฅ.
SSL
์ ๋ท์ค์ผ์ดํ์์ ๊ฐ๋ฐํ ์ํธํ ํ๋กํ ์ฝ๋ก ๋ช ๊ฐ์ง ๋ฌธ์ ์ ์ด ์๋๋ฐ, ์ด๋ฅผ ๋ณด์ํด ์๋ก์ด ์ํธํ ํ๋กํ ์ฝ์ธ TLS ๊ฐ๋ฐ.- ๋ฐ์ดํฐ๋ฅผ ์ก์ ํ ๋ ์์ฉ ๊ณ์ธต์์ ๋ณด์ ๊ณ์ธต์ SSL/TLS๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ํธํํด ์ ์ก ๊ณ์ธต์ผ๋ก ์ ๋ฌ.
- ๋ฐ์ดํฐ๋ฅผ ์์ ํ ๋ ์ ์ก ๊ณ์ธต์์ ๋ณด๋ธ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ ๊ณ์ธต์ SSL/TLS์์ ๋ฐ์ ๋ณตํธํํ ํ ์์ฉ ๊ณ์ธต์ผ๋ก ๋ณด๋.
REST
- HTTP ํต์ ์ ์ฝ๊ฒ ํ์ฉํ ์ ์๋ ๋ํ์ ์ธ ๋ฐฉ๋ฒ.
REST(Representational State Transfer)๋?
- HTTP ํต์ ์ ํ์ฉํ๊ธฐ ์ํด ๊ณ ์๋ ์ํคํ ์ฒ.
Representational
์ ์ธํฐ๋ท์์ ์์์ URI๋ก ๋ํ๋ผ ์ ์์์ ์๋ฏธ.- ํด๋ผ์ด์ธํธ๋ URI๋ก ํํ๋ ์์์ HTTP ๋ฉ์๋๋ฅผ ์ด์ฉํด CRUD(Create, Read, Update, Delete) ์ฐ์ฐ ๊ฐ๋ฅ.
State Transfer
๋ ์์์ ์ํ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ, ์ฆ ์์ฒญ๋ฐ์ ์์์ ์ํ๋ฅผ ์ ๋ฌํ๋ ๊ฒ.- Rest๋ ์์์ ๋ช ์ํด ์ฐ์ฐ์ ์ํํ๊ณ ์ํ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ.
- REST ํน์ง
- ์ผ๊ด๋ ์ธํฐํ์ด์ค: ์์์ ๋ํ๋ด๋ URI๋ฅผ HTTP ๋ฉ์๋๋ก ์กฐ์ํ๋ ์ผ๊ด๋ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉ. HTTP๋ฅผ ๋ฐ๋ฅด๋ ๋ชจ๋ ํ๋ซํผ์์ REST ์ฌ์ฉ ๊ฐ๋ฅ.
- ํด๋ผ์ด์ธํธ-์๋ฒ ๊ตฌ์กฐ: ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์์ฒญ-์๋ต์ ๋ ๋ฆฝ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง. ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ต ๋๊ธฐ. ์๋ฒ๋ ์์์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์๋ต.
- ๋ฌด์ํ์ฑ: ์๋ฒ์์๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ ์ฅํ๊ฑฐ๋ ๊ด๋ฆฌํ์ง ์์. ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ํ ์ฒ๋ฆฌ์ ์๋ต๋ง ํจ. ์ฌ์ฉ์ ์ธ์ฆ, ๋ก๊ทธ์ธ ์ ๋ณด ๋ฑ์ ํด๋ผ์ด์ธํธ์์ ์ง์ ๊ด๋ฆฌ.
- ์บ์ฑ ๊ฐ๋ฅ: HTTP ํ์ค์ ์ฌ์ฉํ๋ฏ๋ก ํด๋ผ์ด์ธํธ๋ ์ด์ ์ ์๋ฒ๋ก๋ถํฐ ๋ฐ์ ์๋ต์ ์ ์ฅ ๋ฐ ์ฌ์ฌ์ฉํ๋ ์บ์ฑ ๊ฐ๋ฅ. ์บ์ฑ์ ํด๋ผ์ด์ธํธ์ ๋ง์ ์์ฒญ์ผ๋ก๋ถํฐ ์๋ฒ ๋ถํ๋ฅผ ์ค์ฌ ์ฃผ๊ณ , ํด๋ผ์ด์ธํธ๋ ๋น๊ต์ ๋นจ๋ฆฌ ์๋ต์ ๋ฐ์ ์ ์๊ฒ ํจ.
- ์์ฒด ํํ ๊ตฌ์กฐ: REST API๋ ์์, ํ์, ํํ์ผ๋ก ๊ตฌ์ฑ๋์ด REST API ๋ฉ์์ง๋ฅผ ๋ณด๊ณ ์ด๋ค ์์ฒญ์ ํ๋์ง ์ ์ ์์.
- ๊ณ์ธตํ ๊ตฌ์กฐ: REST ์๋ฒ๋ ๋ค์ค ๊ณ์ธต์ผ๋ก ๊ตฌ์ฑ๋ ์ ์์ด์ ๋ณด์, ์ํธํ์ ๊ฐ์ ๊ณ์ธต์ ์ถ๊ฐํด ์๋ฒ์ ๋ํ ๊ธฐ๋ฅ์ ์ ์ฐํ๊ฒ ํ์ฅ ๊ฐ๋ฅ.
- REST ํน์ง๊ณผ ํจ๊ป HTTP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ธฐ ๋๋ฌธ์ ๋ณ๋์ ์ธํ๋ผ๋ฅผ ๊ตฌ์ถํ ํ์๊ฐ ์์. โก๏ธ HTTP ํ์ค์ ๋ฐ๋ฅด๋ฉด REST๋ฅผ ์ฝ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ.
- HTTP ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ์์์ ๋ํ ์ฐ์ฐ์ ์ฒ๋ฆฌํ๋ฏ๋ก ๋์์ด ํ์ ์ .
โป URI(Uniform Resource Identifier)
: ์ธํฐ๋ท์ ์๋ ์์์ ๋ํ๋ด๋ ์ฃผ์. URI๋ ์ธํฐ๋ท์์ ์๊ตฌํ๋ ๊ธฐ๋ณธ ์กฐ๊ฑด์ผ๋ก ์ธํฐ๋ท ํ๋กํ ์ฝ์ ํญ์ ๋ถ์ด ๋ค๋. URI์ ํ์ ๊ฐ๋
์ผ๋ก URL, URN์ด ์์.
โป URL(Uniform Resource Locator)
: ์ธํฐ๋ท์์ ์์์ ์์น๋ฅผ ์ ์ ์๋ ๊ท์ฝ. ์น ์ฌ์ดํธ ์ฃผ์์ ์ธํฐ๋ท์ ๋ชจ๋ ์์์ ๋ํ๋ผ ์ ์์.
โป URN(Uniform Resource Name)
: ์์์ ์์น ์ ๋ณด๊ฐ ์๋ ์ค์ ์์์ ํน์ .
REST API
- REST๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ API.
- ์์์ ์๋ณ์ URI๋ก ํ๊ณ , ์์์ ๋ํ ํ์(์ฒ๋ฆฌ)๋ HTTP ๋ฉ์๋๋ก ๋ํ๋. ์ ๋ฌ๋๋ ๋ฐ์ดํฐ๋ JSON ๋๋ XML ๋ฑ์ผ๋ก ํํ.
728x90
๋ฐ์ํ
'Computer Science > Network' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CS] ๋คํธ์ํฌ ๊ธฐ์ด ์ง์ ์ ๋ฆฌ(3/3) (1) | 2024.11.14 |
---|---|
[CS] ๋คํธ์ํฌ ๊ธฐ์ด ์ง์ ์ ๋ฆฌ (2/3) (0) | 2024.11.08 |
[CS] ๋คํธ์ํฌ ๊ธฐ์ด ์ง์ ์ ๋ฆฌ (1/3) (0) | 2024.11.04 |