RESTful API

RESTfulν•œ APIλž€?

REST νŠΉμ§•

  • client-server ꡬ쑰

    • ν΄λΌμ΄μ–ΈνŠΈλŠ” μœ μ €μ™€ κ΄€λ ¨λœ 처리λ₯Ό,

    • μ„œλ²„λŠ” REST APIλ₯Ό μ œκ³΅ν•¨μœΌλ‘œμ¨

    • 각각의 역할이 ν™•μ‹€ν•˜κ²Œ κ΅¬λΆ„λ˜κ³  μΌκ΄€λœ μΈν„°νŽ˜μ΄μŠ€λ‘œ λΆ„λ¦¬λ˜μ–΄ μž‘λ™ν•  수 있게 ν•œλ‹€

  • λ¬΄μƒνƒœμ„± (stateless)

    • RESTλŠ” HTTP의 νŠΉμ„±μ„ μ΄μš©ν•˜κΈ° 떄문에 λ¬΄μƒνƒœμ„±μ„ κ°–λŠ”λ‹€

    • μ„œλ²„μ—μ„œ μ–΄λ–€ μž‘μ—…μ„ ν•˜κΈ° μœ„ν•΄ μƒνƒœ 정보λ₯Ό κΈ°μ–΅ν•  ν•„μš”κ°€ μ—†κ³ , λ“€μ–΄μ˜¨ μš”μ²­μ— λŒ€ν•΄ 처리만 ν•΄μ£Όλ©΄ 되기 λ•Œλ¬Έμ— κ΅¬ν˜„μ΄ 쉽고 λ‹¨μˆœν•΄μ§„λ‹€

  • μΊμ‹œ 처리 κ°€λŠ₯ (cacheable)

    • λŒ€λŸ‰μ˜ μš”μ²­μ„ 효율적으둜 μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ μΊμ‹œκ°€ μš”κ΅¬λœλ‹€

    • μΊμ‹œ μ‚¬μš©μ„ 톡해 μ‘λ‹΅μ‹œκ°„μ΄ 빨라지고 REST Server νŠΈλžœμž­μ…˜μ΄ λ°œμƒν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— 전체 μ‘λ‹΅μ‹œκ°„, μ„±λŠ₯, μ„œλ²„μ˜ μžμ› 이용λ₯ μ„ ν–₯상 μ‹œν‚¬ 수 μžˆλ‹€

  • μœ λ‹ˆνΌ μΈν„°νŽ˜μ΄μŠ€ (Uniform)

    • Http ν‘œμ€€μ—λ§Œ λ”°λ₯Έλ‹€λ©΄ λͺ¨λ“  ν”Œλž«νΌμ—μ„œ μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ©°, URI둜 μ§€μ •ν•œ λ¦¬μ†ŒμŠ€μ— λŒ€ν•œ μ‘°μž‘μ„ κ°€λŠ₯ν•˜κ²Œ ν•˜λŠ” 아킀텍쳐

    • 즉, νŠΉμ • μ–Έμ–΄λ‚˜ κΈ°μˆ μ— μ’…μ†λ˜μ§€ μ•ŠλŠ”λ‹€

핡심 κ·œμΉ™

  • URIλŠ” μ •λ³΄μ˜ μžμ›μ„ ν‘œν˜„ν•΄μ•Ό ν•œλ‹€

  • μžμ›μ— λŒ€ν•œ ν–‰μœ„λŠ” HTTP Method (GET, POST, PUT, DELETE λ“±)으둜 ν‘œν˜„ν•œλ‹€

RESTful APIλž€?

RESTful은 RESTλ₯Ό REST λ‹΅κ²Œ μ“°κΈ° μœ„ν•œ λ°©λ²•μœΌλ‘œ, λˆ„κ΅°κ°€κ°€ κ³΅μ‹μ μœΌλ‘œ λ°œν‘œν•œ 것은 μ•„λ‹ˆλ‹€

  • μžμ›μ„ 식별할 수 μžˆμ–΄μ•Ό ν•œλ‹€

    • URL 만으둜 μ–΄λ–€ μžμ› 을 μ œμ–΄ν•˜λ €κ³  ν•˜λŠ”μ§€ μ•Œ 수 μžˆμ–΄μ•Ό ν•œλ‹€

  • ν–‰μœ„λŠ” λͺ…μ‹œμ μ΄μ–΄μ•Ό ν•œλ‹€

    • GET을 μ΄μš©ν•΄μ„œ UPDATE와 DELETEλ₯Ό ν•˜λŠ” 것 β†’ X

Last updated