์ผํ๋ชฐ ์ฑ์ ์๋ฅผ ๋ค๋ฉด, ์ํ ์ ๋ณด๋ฅผ ์๋ฒ๋ก๋ถํฐ ๋ฐ์์์ผ ํ๊ธฐ ๋๋ฌธ์ ์ธํฐ๋ท ์ฐ๊ฒฐ์ด ์๋ค๋ฉด ์ผํ๋ชฐ ์ฑ์ด ์๋๋์ง ์๋๋ค.
๋จ, ์ํ ์ ๋ณด๊ฐ ์ ๋ถ ์ฑ ์์ ๋ด๊ธด ๊ฒฝ์ฐ, ์ฑ๊ณผ ์ฐ๊ฒฐ๋ ์๋ฒ๊ฐ ์กด์ฌํ์ง ์๋๋ค๋ฉด, ์ ์ํ ์ ๋ณด๋ฅผ ๋ฐ์์ค๊ธฐ ์ํด์ ๋์์์ด ์ฑ์ ์
๋ฐ์ดํธ ํด์ผํ๋ค.
๋ฐ๋ผ์, ์ค์๊ฐ์ผ๋ก ๊ณ ๊ฐ๋ค์๊ฒ ์ํ์ ๋ณด๋ฅผ ์ ๋ฌํ๊ธฐ๊ฐ ๋งค์ฐ ์ด๋ ค์ฐ๋ฉฐ ์ํ ์๋ฒ์์ ์ฐ๊ฒฐ์ด ํ์ํ '๊ฒฐ์ '๋ผ๋ ํ๋์ ํ ์ ์๋ค.
์ด๋ ๊ฒ ๋ฆฌ์์ค(์ํ์ ๋ณด)๊ฐ ์กด์ฌํ๋ ๊ณณ๊ณผ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๋ ์ฑ์ ๋ถ๋ฆฌ์ํจ ๊ฒ์ 2ํฐ์ด ์ํค๋ฑ์ฒ, ๋๋ client-server ์ํคํ ์ฒ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
client์ server๋ ์์ฒญ๊ณผ ์๋ต์ ์ฃผ๊ณ ๋ฐ๋ ๊ด๊ณ์ด๋ค.(Client ์ ์์ฒญ -> Server ํ ์๋ต)
์ผ๋ฐ์ ์ผ๋ก ์๋ฒ๋ ๋ฆฌ์์ค๋ฅผ ์ ๋ฌํด์ฃผ๋ ์ญํ ๋ง ๋ด๋นํ๋ฉฐ, ๋ฆฌ์์ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋์ด ์๋ค.
๊ธฐ์กด 2ํฐ์ด ์ํค๋ฑ์ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ถ๊ฐ๋ ํํ๋ฅผ 3ํฐ์ด ์ํคํ ์ฒ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์น ๊ฐ๋ฐ์ ์ง๊ตฐ(ํ๋ก ํธ/๋ฐฑ)์ ์ํคํ ์ฒ์์ ์ด๋ค ๋ถ์ผ๋ฅผ ๋ค๋ฃจ๋ ์ง์ ๋ฐ๋ผ ๊ตฌ๋ถ๋๋ฉฐ,
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ client์ฒ๋ผ ์ฌ์ฉ์๊ฐ ์ง์ ๋์ผ๋ก ๋ณผ ์ ์๊ณ , ์ํธ์์ฉ์ ํ ์ ์๋ ์ฑ์ ๊ฐ๋ฐํ๋ฉฐ, ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ ๋์ ๋ณด์ด์ง ์๋ server๋ฅผ ๋ค๋ฃจ๋ ๊ฐ๋ฐ์๋ก, DB๋ฑ์ ์์คํ ์ค๊ณ๊น์ง ๋งก๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
โพ Client
: ์น์ฌ์ดํธ(์น ์ฑ), ์ค๋งํธํฐ.ํ๋ธ๋ฆฟ ์ฉ ์ฑ, ๋ฐ์คํฌํ ์ฑ
โพ Server
: ์น ์๋ฒ, ํ์ผ ์๋ฒ, ๋ฉ์ผ ์๋ฒ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ
client์ server ๊ฐ์ ํต์ ์ client์ ์์ฒญ๊ณผ server์ ์๋ต์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์์ฒญ์ด ์์ด์ผ๋ง ์๋ต์ด ์จ๋ค. ๋ฐ๋ผ์, server ๋ง์๋๋ก client์ ๋ฆฌ์์ค๋ฅผ ์ ๋ฌํ์ง ์๋๋ค.
Client์ server๋ ์๋ก HTTP๋ผ๋ ํ๋กํ ์ฝ์ ์ด์ฉํ์ฌ ๋ํ๋ฅผ ๋๋๋ฉฐ, ์ด๋ ์ฃผ๊ณ ๋ฐ๋ ๋ฉ์์ง๋ฅผ HTTP ๋ฉ์์ง๋ผ๊ณ ๋ถ๋ฅธ๋ค.
โญ ํ๋กํ ์ฝ?
ํต์ ๊ท์ฝ, ์ฆ ์ฝ์์ผ๋ก, ์ค์ ์ฌ๋ก๋ฅผ ๋ค์ด๋ณด์๋ฉด ์นดํ์์ ์ปคํผ๋ฅผ ์ฃผ๋ฌธํ ๋ ์ฐ์ด๋ ๋ค์ํ ๋ฐฉ๋ฒ๋ค์ด ๋ชจ๋ ํ๋ํ๋ ํ๋กํ ์ฝ์ด๋ค.
์ ๋๋ก๋ ํต์ ์ ์ํด์๋ ํ๋กํ ์ฝ(๊ท์ฝ)์ ์ง์ผ์ผ ํ๋๋ฐ, ๊ฐ๊ฒ์์ ์ธ๊ณ์ด๋ก ์ํ์ ์ฃผ๋ฌธํ ์๋ ์์ผ๋ฉฐ, ์ฐํธ์ ๋ณด๋ผ ๋์ ์์ ์์ ๋ํ ์ ๋ณด ํ๊ธฐ๊ฐ ์๊ฑฐ๋ ์ฐํ๊ฐ ์๋ค๋ฉด ์ฐํธ ์ ์ก์ด ๋ถ๊ฐํ๋ค.
์ฆ, ์ฐํธ ์ ์ก์ ์ํด ๋ฐ๋์ ์ง์ผ์ผํ๋ ๊ท์ฝ์ด ์์ผ๋ฉฐ ๊ฐ์์ ํ๋กํ ์ฝ๋ง๋ค ์ง์ผ์ผํ๋ ๊ท์ฝ์ด ์กด์ฌํ๋ค.
Client๊ฐ server์ ์์ฒญ์ ํ ๋, ์ ํํ ์ฃผ๋ฌธ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ์์ฒญํด์ผ ํ๋๋ฐ, ์ด๋ ์๋ฒ๋ ๋ง์น ์๋น์์ ๋ฉ๋ดํ์ ์ ๊ณตํ๋ฏ, ๋ฆฌ์์ค๋ฅผ ์ ํ์ฉํ ์ ์๋๋ก client์๊ฒ API(Application Programming interface)๋ฅผ ์ ๊ณตํ๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ธํฐ๋ท์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ ๋์๋ HTTP ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ฉฐ, ์ฃผ์๋ฅผ ํตํด ์ ๊ทผํ ์ ์๋ค.
HTTP API ๋์์ธ์๋ Best Practice๊ฐ ์กด์ฌํ๋ฉฐ, ์๋๋ ์ฌ์ฉ์ ๊ด๋ฆฌ API์ด๋ค.
URL ๋์์ธ์ ๋น๊ต์ ๋จ์ํ๋ ๋ฉ์๋๋ผ๋ ๊ฐ๋ ์ด ๋ฑ์ฅํ๋ค. ๋ฐ๋ผ์, HTTP ์์ฒญ์๋ ๋ฉ์๋๊ฐ ์กด์ฌํ๋ฉฐ ๋ฆฌ์์ค๋ฅผ ๊ทธ์ ๋ฌ๋ผ๊ณ ์์ฒญํ๋ ๊ฒ ๋ฟ๋ง ์๋๋ผ, ์ถ๊ฐ๋ ์ญ์ ๋ฅผ ์์ฒญํ ์ ์๋ค.
์๋์ ๊ฐ์ด CURD ๊ฐ๊ฐ์ ํ๋๊ณผ ์ผ์นํ๋ HTTP ๋ฉ์๋์ ์ข ๋ฅ๊ฐ ์กด์ฌํ๋ค.
HTTP ๋ฉ์๋๋ ๋ฆฌ์์ค๋ฅผ ์ด์ฉํด CRUD ํ๋์ ๋ง๊ฒ ์ ์ ํ๊ฒ ์ฌ์ฉ๋์ด์ผ ํ๋ค.
Reference: ์ฝ๋์คํ ์ด์ธ