Application Programming Interface์ ์ฝ์์ด๋ฉฐ, ์ดํ๋ฆฌ์ผ์ด์ ๋ผ๋ฆฌ์ ์ํต์ ๋งํ๋ค.
๋ง ๊ทธ๋๋ก HTTP ํต์ ๋ฐฉ์์ ์ฌ์ฉํ๋ API๋ฅผ ๋ป ํ๋ค.
Representational State Transfer์ ์ฝ์๋ก ๋คํธ์ํฌ ์์์ ์ ์ํ๊ณ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ปํ๋ค.
์ฆ, REST๋ HTTP๋ฅผ ์ ํ์ฉํ๊ธฐ ์ํ ์์น์ด๋ผ๊ณ ํ ์ ์๋ค.
์ด ์์น์ ์ค์ํ์ฌ ๋ง๋ API๊ฐ ๋ฐ๋ก REST API ์ด๋ผ๊ณ ๋งํ ์ ์๋ค.
์ด๋ฌํ ์์น๋ค์ ์๋ฒฝํ๊ฒ ์งํค๋ฉด์ ๊ฐ๋ฐํ๋ ๊ฒ์ RESTful API๋ผ๊ณ ํ๋ค.
4๊ฐ์ง ๊ท์ฝ
1. Identification of resources : ๋ฆฌ์์ค๊ฐ URL๋ก ์๋ณ๋๋ค.
2. Manipulation of resources through representations : ์์ค๋ฅผ ์ญ์ ํ๊ฑฐ๋ ์์ ํ ๋ HTTP ๋ฉ์์ง์ ์ด๋ฌํ ํํ์ ๋ด์์ ์ ์กํด์ผํ๋ค.
3. Self-descriptive messages : ๋ฉ์ธ์ง๋ ์ค์ค๋ก ์ค๋ช ํด์ผ ํ๋ค. ๋ฉ์ธ์ง๋ง ๋ณด๊ณ ๋ ์ด๋ค ๊ธฐ๋ฅ์ ์ํํ๋์ง ์ ์ ์์ด์ผ ํ๋ค.
4. Hypermedia as the engine of application state(HATEOAS)
Self-descriptive messages ์ Hypermedia as the engine of application state ์ด ๋ ๊ท์ฝ์ด ์งํค๊ธฐ ํ๋ค๋ค.