๐Ÿ”™๋’ค๋กœ๊ฐ€๊ธฐ

REST API๋Š” HTTP ํ”„๋กœํ† ์ฝœ๋กœ ํ†ต์‹ ํ•ด๊ฐ€์ง€๊ณ  CRUD ํ•˜๋Š”๊ฑฐ ๋

REST(Representational State Transfer)๋Š” ์›น ์„œ๋น„์Šค์™€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์˜ ํ†ต์‹ ์„ ์œ„ํ•œ ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ์ด๋‹ค. 2000๋…„๋„์— ๋กœ์ด ํ•„๋”ฉ(Roy Fielding)์ด ๋ฐ•์‚ฌ ๋…ผ๋ฌธ์—์„œ ์ฒ˜์Œ ์†Œ๊ฐœํ–ˆ๋‹ค.

๋กœ์ด ํ•„๋”ฉ์€ HTTP์™€ ์›น์˜ ๊ณต๋™ ์ฐฝ์‹œ์ž๋กœ์„œ, ๊ทธ์˜ ๊ฒฝํ—˜๊ณผ ์ง€์‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ REST ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ์ดํ›„, REST๋Š” ์›น ๊ฐœ๋ฐœ ๋ฐ API ๋””์ž์ธ ๋ถ„์•ผ์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋‹ค์–‘ํ•œ ์›น ์„œ๋น„์Šค์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํ™œ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

๊ทธ์˜ ๋…ผ๋ฌธ์—์„œ๋Š” ์›น์˜ ๊ธฐ๋ณธ ์•„ํ‚คํ…์ฒ˜ ์›๋ฆฌ๋ฅผ ์„ค๋ช…ํ•˜๊ณ , ์›น์ด ์–ด๋–ป๊ฒŒ ์„ค๊ณ„๋˜์–ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์›์น™๊ณผ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ œ์‹œํ•œ๋‹ค.

REST ์•„ํ‚คํ…์ฒ˜๋Š” ์›น์˜ ํ™•์žฅ์„ฑ, ์„ฑ๋Šฅ, ๊ฐ„์†Œํ™”, ์ˆ˜์ • ์šฉ์ด์„ฑ ๋“ฑ์˜ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ๋‹ค. ์›น ์„œ๋น„์Šค ๊ฐœ๋ฐœ์— ์žˆ์–ด์„œ ์—ฌ๋Ÿฌ ํ”„๋กœํ† ์ฝœ๊ณผ ์›น ์„œ๋น„์Šค ๋””์ž์ธ ํŒจํ„ด์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์—ˆ์ง€๋งŒ, REST๋Š” ์ด๋Ÿฌํ•œ ๋ณต์žก์„ฑ์„ ์ค„์ด๊ณ  ๋” ๋‹จ์ˆœํ•˜๊ณ  ํ‘œ์ค€ํ™”๋œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋ ค๋Š” ๋ชฉ์ ์œผ๋กœ ํƒ„์ƒํ–ˆ๋‹ค.

REST๋Š” ๋ถ„์‚ฐ ํ•˜์ดํผ๋ฏธ๋””์–ด ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ์›์น™๊ณผ ์ œ์•ฝ ์กฐ๊ฑด์„ ์ •์˜ํ•˜๋ฉฐ, ์ธํ„ฐ๋„ท์„ ํฌํ•จํ•œ ๋Œ€๊ทœ๋ชจ ๋„คํŠธ์›Œํฌ ์‹œ์Šคํ…œ์—์„œ ํšจ์œจ์ ์ด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ์ง€ํ–ฅํ•œ๋‹ค.


REST(Representational State Transfer)

REST API(Representational State Transfer Application Programming Interface)

RESTful (Representational State Transfer - Full)