Community

๐ŸŒ API ๊ฐ€ ๋ญ”๊ฐ€์š”??

๋ช‡์ผ์ „ ๋น„๊ฐœ๋ฐœ์ž ์ง€์ธ๋ถ„๊ป˜ API ๊ฐ€ ๋ฌด์—‡์ด๋ƒ๋Š” ์งˆ๋ฌธ์„ ๋ฐ›์•„ ์„ค๋ช…์„ ํ•ด๋“œ๋ ธ๋Š”๋ฐ ์ปค๋ฆฌ์–ด๋ฆฌ์—์„œ๋„ ๊ถ๊ธˆํ•ดํ•˜์‹ค ๋ถ„๋“ค์ด ๊ณ„์‹ค๊ฒƒ ๊ฐ™์•„ ์ •๋ฆฌํ•ด๋ด…๋‹ˆ๋‹ค. API ๋Š” Application Programming Interface ์˜ ์•ฝ์ž๋กœ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ์„œ๋กœ ํ†ต์‹ ํ•˜๊ฑฐ๋‚˜ ์ƒํ˜ธ์ž‘์šฉ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๋งค๊ฐœ์ฒด์ด์ž ์•ฝ์†์ด๋ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. API ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ์‰ฝ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ๋น„์œ ๋กœ ํšŒ์‚ฌ์—์„œ ํŒ€์žฅ๊ณผ ํŒ€์›๋“ค๊ฐ„์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์†Œํ†ต์ด ์ผ์–ด๋‚œ๋‹ค ๊ฐ€์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. - ํŒ€์žฅ์ด ํŒ€์›๋“ค์—๊ฒŒ ์˜ค๋Š˜ ํ•  ์—…๋ฌด ๋ชฉ๋ก์„ ๋ฌผ์–ด๋ด…๋‹ˆ๋‹ค. - ํŒ€์žฅ์ด ๊ฐ ํŒ€์›๋“ค์—๊ฒŒ ํ•ด์•ผํ•  ์—…๋ฌด๋ฅผ ์ง€์ •ํ•ด ์ค๋‹ˆ๋‹ค. ๋งŒ์•ฝ ํŒ€์žฅ๊ณผ ํŒ€์›์ด ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ฐ”๋€๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ๋ฐ”๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ API ๋ฅผ ์ •์˜ํ•˜์—ฌ ์„œ๋กœ ์†Œํ†ตํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. - ์—…๋ฌด ๋ชฉ๋ก ์กฐํšŒ API - ์—…๋ฌด ์ง€์‹œ API ๊ทธ๋ ‡๋‹ค๋ฉด ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ด๋Ÿฐ API ๋ฅผ ์ •์˜ํ•˜๋ฉด ๋ญ๊ฐ€ ์ข‹์€ ๊ฒƒ์ผ๊นŒ์š”? โœ”๏ธ client ํ”„๋กœ๊ทธ๋žจ์€ ์†Œํ†ตํ•  ํ”„๋กœ๊ทธ๋žจ์ด ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์ธ์ง€, ๊ตฌํ˜„์ด ์–ด๋–ป๊ฒŒ ๋˜์–ด์žˆ๋Š”์ง€ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๊ณ  ์•ฝ์†๋œ API ๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ์†Œํ†ต์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์œ„์˜ ์˜ˆ๋ฅผ ๋“ค์–ด ํŒ€์žฅ์ด ์†Œํ†ตํ•  ํŒ€์›๋“ค ์ค‘ ํ•œ์‚ฌ๋žŒ์€ ๋งํ•˜๋Š”๊ฑธ ์ข‹์•„ํ•˜๊ณ  ํ•œ์‚ฌ๋žŒ์€ ์—์–ดํŒŸ์„ ๊ฝ‚์•„ ์†Œ๋ฆฌ๋ฅผ ๋ชป๋“ฃ๋Š” ์‚ฌ๋žŒ์ด ์žˆ์„ ๊ฒฝ์šฐ ํŒ€์žฅ์€ ์ž์‹ ์ด ์†Œํ†ตํ•  ํŒ€์›์ด ๋ˆ„๊ตฌ๋ƒ์— ๋”ฐ๋ผ ์‹ ๊ฒฝ์จ์„œ ๋‹ค๋ฅด๊ฒŒ ์ ‘๊ทผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ API ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์ด๋ฏธ ์•ฝ์†๋œ ๋‚ด์šฉ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋Œ€๋ฐฉ์ด ๋ˆ„๊ตฌ๋“  ์ƒ๊ด€์—†์ด API ๋งŒ ํ˜ธ์ถœํ•˜๋ฉด ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โœ”๏ธ ๊ณตํ†ต๋œ ๋กœ์ง์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์†Œํ†ตํ•˜๋Š” ์—ฌ๋Ÿฌ Client ํ”„๋กœ๊ทธ๋žจ์ด ์žˆ์„ ๊ฒฝ์šฐ ๊ฐ๊ฐ์˜ Client ์—์„œ ๋˜‘๊ฐ™์€ ๋กœ์ง์„ ๋“ค๊ณ  ์žˆ๋Š”๊ฒƒ๋ณด๋‹จ ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ณตํ†ต๋œ ๋กœ์ง์„ ์ œ๊ณตํ•ด์ฃผ๋Š”๊ฒŒ ํšจ์œจ์ ์ด๊ณ  ์œ ์ง€๋ณด์ˆ˜์ ์œผ๋กœ๋„ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. โœ”๏ธ ์œ ์ง€ ๋ณด์ˆ˜ ๋ฐ ํ™•์žฅ์ด ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค. HTTP ์™€ ๊ฐ™์€ ๋ฒ”์šฉ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” API ์˜ ๊ฒฝ์šฐ ์›น, ์•ˆ๋“œ๋กœ์ด๋“œ, IOS ํ™˜๊ฒฝ์—์„œ ๋™์ผํ•œ API ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ์„œ๋กœ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ ๋™์ผํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„์ด ๊ฐ„ํŽธํ•ด์ง‘๋‹ˆ๋‹ค. ๋˜ํ•œ API ์— ๋ฒ„๊ทธ๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ๊ฐœ์„ ์‚ฌํ•ญ์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋  ๊ฒฝ์šฐ API ๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์œ ์ง€ ๋ณด์ˆ˜์ ์œผ๋กœ๋„ ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ๋ณ‘ํ•ฉ๋œ ์ปดํ“จํ„ฐ๋“ค ๊ฐ„์˜ ํ†ต์‹ ์‹œ ์‚ฌ์šฉํ•˜๋Š” API ๋ฅผ ์›น API ๋ผ๊ณ  ๋ถˆ๋ฆฌ๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ €ํฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์–ดํ”Œ์ด๋‚˜ ์›น์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋Š”๊ฑฐ๋ผ ์ €ํฌ์˜ ์ƒํ™œ์†์— ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” API ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์„ํ…๋ฐ์š”, ์›น API ์˜ ๊ฒฝ์šฐ API ๋ฅผ ์ •์˜ํ–ˆ๋˜ ์‹œ๊ธฐ์™€ ์ด์œ ์— ๋”ฐ๋ผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ข…๋ฅ˜๋กœ ๋‚˜๋‰˜์–ด์ง‘๋‹ˆ๋‹ค. (API ์ข…๋ฅ˜์— ๋Œ€ํ•œ ์ถœ์ฒ˜ : https://aws.amazon.com/ko/what-is/api/) โœ”๏ธ SOAP API ์ด API๋Š” ๋‹จ์ˆœ ๊ฐ์ฒด ์ ‘๊ทผ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” XML์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ๊ตํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ณผ๊ฑฐ์— ๋” ๋งŽ์ด ์‚ฌ์šฉ๋˜์—ˆ์œผ๋ฉฐ ์œ ์—ฐ์„ฑ์ด ๋–จ์–ด์ง€๋Š” API์ž…๋‹ˆ๋‹ค. โœ”๏ธ RPC API ์ด API๋ฅผ ์›๊ฒฉ ํ”„๋กœ์‹œ์ € ํ˜ธ์ถœ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—์„œ ํ•จ์ˆ˜๋‚˜ ํ”„๋กœ์‹œ์ €๋ฅผ ์™„๋ฃŒํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ์ถœ๋ ฅ์„ ํด๋ผ์ด์–ธํŠธ๋กœ ๋‹ค์‹œ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. โœ”๏ธ Websocket API Websocket API๋Š” JSON ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ์ตœ์‹  ์›น API ๊ฐœ๋ฐœ์ž…๋‹ˆ๋‹ค. WebSocket API๋Š” ํด๋ผ์ด์–ธํŠธ ์•ฑ๊ณผ ์„œ๋ฒ„ ๊ฐ„์˜ ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ ์—ฐ๊ฒฐ๋œ ํด๋ผ์ด์–ธํŠธ์— ์ฝœ๋ฐฑ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ์–ด REST API๋ณด๋‹ค ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. โœ”๏ธ REST API ์˜ค๋Š˜๋‚  ์›น์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์œ ์—ฐํ•œ API์ž…๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ฐ์ดํ„ฐ๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ ์ด ํด๋ผ์ด์–ธํŠธ ์ž…๋ ฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‚ด๋ถ€ ํ•จ์ˆ˜๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ํด๋ผ์ด์–ธํŠธ์— ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค