๐Ÿ•ธ๏ธ
WebAPI Server
WebAPI ServerASP.NET CoreMain Subject
  • Intro
  • Web
  • HTTP๋ž€
  • HTTP ๋ฉ”์‹œ์ง€
  • URL๊ณผ ๋ฆฌ์†Œ์Šค
  • ์ƒํƒœ์ฝ”๋“œ
  • HTTP ๋ฉ”์†Œ๋“œ
  • ์›น ๋ธŒ๋ผ์šฐ์ €
  • ์›น ์„œ๋ฒ„
  • REST
  • API
  • WebAPI Server
  • Extra learning
    • IIS
    • JSON
    • JWT
    • DNS
Powered by GitBook
On this page
  • REST ์˜๋ฏธ
  • REST ๊ตฌ์„ฑ
  • REST API
  • RESTful
  • ์ฐธ๊ณ ๋ฌธํ—Œ

REST

REST ์˜๋ฏธ

  • Representational State Transfer์˜ ์•ฝ์ž

  • ์ž์›์„ URI๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ•ด๋‹น ์ž์›์˜ ์ƒํƒœ(์ •๋ณด)๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ฑฐ๋‚˜ ์กฐ์ž‘ํ•˜๋Š” ๊ฒƒ

  • HTTP/HTTPS ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์‚ฌ์ด์˜ ํ†ต์‹ ์— ์‚ฌ์šฉ๋˜๋Š” ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ

  • HTTP๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ธฐ์— ์›น์˜ ์žฅ์ ์„ ์‚ด๋ฆด ์ˆ˜ ์žˆ์Œ

REST ๊ตฌ์„ฑ

  • ์ž์›(Resource)

    • URI : ๋ชจ๋“  ์ž์›์— ๊ณ ์œ ํ•œ ID๊ฐ€ ์กด์žฌํ•˜๊ณ , ์ด ์ž์›์€ server์— ์กด์žฌํ•จ

    • HTTP์˜ route(๊ฒฝ๋กœ)๊ฐ€ ์ด์— ํ•ด๋‹นํ•จ

  • ํ–‰์œ„(Verb)

    • ์ž์›์˜ ์ƒํƒœ(์ •๋ณด)์— ๋Œ€ํ•œ ์š”์ฒญ ๋ฐ ์กฐ์ž‘

    • HTTP์˜ Method๊ฐ€ ์ด์— ํ•ด๋‹นํ•จ

    • Create : ์ƒ์„ฑ (POST)

    • Read : ์กฐํšŒ (GET)

    • Update : ์ˆ˜์ • (PUT)

    • Delete : ์‚ญ์ œ (DELETE)

  • ํ‘œํ˜„(Representation of Resourc)

    • ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ด๋Š” ๋ฐ์ดํ„ฐ(์‘๋‹ต ๋ฉ”์‹œ์ง€์˜ body์— ๋‹ด๊น€)

    • HTTP Response Message ํ—ค๋”์— Content-Type์œผ๋กœ ์„ค์ •ํ•ด์คŒ - JSON, XML, TEXT, RSS ๋“ฑ

    • JSON ํ˜น์€ XML๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋ฉฐ, body์— content-type์— ๋งž๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋ƒ„

REST API

  • REST์˜ ๊ทœ์น™์— ๋”ฐ๋ผ ์„œ๋น„์Šค API๋ฅผ ๊ตฌํ˜„ํ•œ ๊ฒƒ

  • ์ตœ๊ทผ์—๋Š” OpenAPI๊ฐ€ REST API๋กœ ์ œ๊ณตํ•˜๋Š” ์ถ”์„ธ

  • HTTP ํ‘œ์ค€์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ฏ€๋กœ, HTTP๋ฅผ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

  • ๋‹ค์–‘ํ•œ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๊ณ , ํ™•์žฅ์„ฑ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Œ

  • ๋ฌด์ƒํƒœ(stateless)์˜ ํŠน์ง•์„ ๊ฐ€์ง (์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š์Œ)

  • ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์€ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•˜๊ธฐ ์œ„ํ•ด ๋ธŒ๋ผ์šฐ์ €์— ์ž…๋ ฅํ•˜๋Š” URL๊ณผ ์œ ์‚ฌํ•จ

  • ์„œ๋ฒ„์˜ ์‘๋‹ต์€ HTTP๋กœ ์‘๋‹ตํ•˜์ง€๋งŒ, ๊ทธ๋ž˜ํ”ฝ ๋ Œ๋”๋ง์ด ์—†๋Š” ์ผ๋ฐ˜ ๋ฐ์ดํ„ฐ์ž„ (HTML๋“ฑ ์ด ์•„๋‹ˆ๋ผ JSON ๋“ฑ)

RESTful

  • REST ์›๋ฆฌ๋ฅผ ๋”ฐ๋ฅด๋Š” ์‹œ์Šคํ…œ์„ RESTful์ด๋ผ๊ณ  ํ•จ

  • REST API๋ฅผ ์ œ๊ณตํ•˜๋Š” ์›น์„œ๋น„์Šค๋ฅผ RESTfulํ•˜๋‹ค๊ณ  ํ‘œํ˜„ํ•จ

  • RESTful์€ REST๋ฅผ REST๋‹ต๊ฒŒ ์—„๊ฒฉํ•˜๊ฒŒ ์“ฐ๊ธฐ์œ„ํ•œ ๋ฐฉ๋ฒ•์„ ์˜๋ฏธํ•˜๊ธฐ๋„ ํ•จ

  • REST ๋ฐฉ์‹์ด ๊ณต์‹์ ์ธ ๊ฒƒ์€ ์•„๋‹˜. ๋ฒ•์€ ์•„๋‹ˆ์ง€๋งŒ ์‚ฌํšŒ์  ๊ทœ๋ฒ”์ด๋ผ๊ณ  ๋ณด๋ฉด ๋ ๋“ฏ

์ฐธ๊ณ ๋ฌธํ—Œ

Previous์›น ์„œ๋ฒ„NextAPI

Last updated 2 years ago

๐Ÿ’ก ์œ„ ๋‚ด์šฉ ์™ธ์—๋„ REST์— ๋Œ€ํ•ด ๊ตฌ์ฒด์ ์œผ๋กœ ์•Œ๊ธฐ ์›ํ•˜์‹œ๋ฉด ์•„๋ž˜ ์ฐธ๊ณ ๋ฌธํ—Œ์˜ ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”

: ์ด ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€ ์ •๋…์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

๋ธ”๋กœ๊ทธ
gmlwjd9405 ๋ธ”๋กœ๊ทธ