RESTλ
REST(Representational State Transfer)λ API μλ λ°©μμ λν 쑰건μ λΆκ³Όνλ μννΈμ¨μ΄ μν€ν μ³μ΄λ€. RESTλ μΈν°λ·κ³Ό κ°μ 볡μ‘ν λ€νΈμν¬μμ ν΅μ μ κ΄λ¦¬νκΈ° μν μ§μΉ¨μΌλ‘ λ§λ€μ΄μ‘λ€.
RESTful APIλ
RESTful APIλ REST μν€ν μ²λ₯Ό λ°λ₯΄λ APIλ€. μ΄λ μμ€ν μ΄ RESTful λ°©μμΌλ‘ HTTPλ₯Ό ν΅ν΄ ν΅μ ν μ μλλ‘ νλ μΈν°νμ΄μ€μ΄λ€. RESTful APIλ λ¨μνκ³ νμ₯ κ°λ₯νλ©° μν λΉμ μ₯λλλ‘ μ€κ³λμλ€.
RESTful APIλ μΌλ°μ μΌλ‘ URIλ‘ μλ³λλ 리μμ€μ λν μμ μ νμ€ HTTP λ©μλ(GET, POST, PUT, DELETE)λ₯Ό μ¬μ©νλ€. ν΄λΌμ΄μΈνΈμ μλ² κ°μ κ΅νλλ λ°μ΄ν°λ JSON λλ XML νμμΈ κ²½μ°κ° λ§λ€.
REST μ μ½ μ‘°κ±΄
1. 무μν(Stateless)
κ° μμ² κ° ν΄λΌμ΄μΈνΈμ μμ² μνκ° μλ²μ μ μ₯λμ΄μλ μλλ€. μ¦, κ° μμ²μλ κ·Έ μμ²μ μ΄ν΄νλ λ° νμν λͺ¨λ μ λ³΄κ° ν¬ν¨λμ΄ μμ΄μΌ νλ€.
2. μΊμ μ²λ¦¬ κ°λ₯(Cacheable)
ν΄λΌμ΄μΈνΈλ μλ΅μ μΊμ±ν μ μμ΄μΌ νλ€.
3. ν΄λΌμ΄μΈνΈ/μλ² κ΅¬μ‘°
μν€ν μ²λ₯Ό λ¨μνμν€κ³ μμ λ¨μλ‘ λΆλ¦¬(decouple)ν¨μΌλ‘μ¨ ν΄λΌμ΄μΈνΈ-μλ²μ κ° ννΈκ° λ 립μ μΌλ‘ κ°μ λ μ μλλ‘ ν΄μ€λ€.
4. κ³μΈ΅ν(Layered System)
κ³μΈ΅νλ μμ€ν μν€ν μ²μμ ν΄λΌμ΄μΈνΈλ ν΄λΌμ΄μΈνΈμ μλ² μ¬μ΄μ λ€λ₯Έ μΉμΈλ μ€κ°μμκ² μ°κ²°ν μ μμΌλ©° μ¬μ ν μλ²λ‘λΆν°λ μλ΅μ λ°λλ€. μλ²λ μμ²μ λ€λ₯Έ μλ²λ‘ μ λ¬ν μλ μλ€. ν΄λΌμ΄μΈνΈ μμ²μ μ΄ννκΈ° μν΄ ν¨κ» μλνλ 보μ, μ ν리μΌμ΄μ λ° λΉμ¦λμ€ λ‘μ§κ³Ό κ°μ μ¬λ¬ κ³μΈ΅μΌλ‘ μ¬λ¬ μλ²μμ μ€νλλλ‘ RESTful μΉ μλΉμ€λ₯Ό μ€κ³ν μ μλ€. μ΄λ¬ν κ³μΈ΅μ ν΄λΌμ΄μΈνΈμ 보μ΄μ§ μλ μνλ‘ μ μ§λλ€.
5. Code on demand (optional)
μμ² μ μλ²μμ ν΄λΌμ΄μΈνΈλ‘ μ€ν κ°λ₯ν μ½λλ₯Ό μ μ‘νμ¬ ν΄λΌμ΄μΈνΈ κΈ°λ₯μ νμ₯νλ κΈ°λ₯μ΄λ€. μλ₯Ό λ€μ΄, μΉ μ¬μ΄νΈμμ λ±λ‘ μμμ μμ±νλ©΄ λΈλΌμ°μ λ μλͺ»λ μ νλ²νΈμ κ°μ μ€μλ₯Ό μ¦μ κ°μ‘° νμνλ€. μλ²μμ μ μ‘ν μ½λλ‘ μΈν΄ μ΄ μμ μ μνν μ μλ€.
6. μΈν°νμ΄μ€ μΌκ΄μ±
μΌκ΄μ μΈ μΈν°νμ΄μ€λ‘ λΆλ¦¬λμ΄μΌ νλ€. μ μ½ μ‘°κ±΄μ λ€μκ³Ό κ°λ€.
- 리μμ€ μλ³: 리μμ€λ URI(Uniform Resource Identifier)λ‘ μλ³λλ€.
- ννμ ν΅ν 리μμ€ μ‘°μ: ν΄λΌμ΄μΈνΈκ° λ³΄λΈ νν(ex. JSON λλ XML)μ ν΅ν΄ 리μμ€λ₯Ό μ‘°μν μ μλ€.
- μκΈ° μ€λͺ μ λ©μμ§: ν΄λΌμ΄μΈνΈμμ μλ²λ‘, μλ²μμ ν΄λΌμ΄μΈνΈλ‘μ κ° λ©μμ§μλ λ©μμ§ μ²λ¦¬ λ°©λ²μ μ€λͺ νλ λ° μΆ©λΆν μ λ³΄κ° ν¬ν¨λμ΄μΌ νλ€.
μ°Έκ³ μλ£
https://aws.amazon.com/ko/what-is/restful-api/
'π©βπ» CS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
XSS, CSRF, SQL Injection 곡격과 ν΄κ²°λ°©λ² (0) | 2024.01.25 |
---|---|
[λ€νΈμν¬] URI, URL, URNμ μ°¨μ΄ (0) | 2024.01.25 |
[λ€νΈμν¬] SOP, CORS (0) | 2024.01.23 |
[λ€νΈμν¬-μΈμ¦] μΏ ν€, μΈμ , JWT ν ν° (0) | 2024.01.23 |
[λ€νΈμν¬] LANκ³Ό WAN (0) | 2024.01.11 |