λͺ¨λ κ°λ°μλ₯Ό μν HTTP μΉ κΈ°λ³Έ μ§μ κ°μ μ€μ μΌλΆλ₯Ό μ 리ν κΈμ λλ€.
HTTP λ©μλμ μ’ λ₯
APIλ₯Ό μ€κ³ν λ 리μμ€
(Resource νΉμ Representation)λ₯Ό μλ³νλ κ²μ΄ κ°μ₯ μ€μν©λλ€. 리μμ€μ νμ
λ₯Ό λΆλ¦¬ν΄μ μ€κ³ν΄μΌνλλ° λ¦¬μμ€μ νμλ₯Ό λνλ΄λλ° μλμ λ©μλλ₯Ό μ΄μ©νλ©΄ λ©λλ€.
- GET
- νΉμ 리μμ€μ νμλ₯Ό νμλ₯Ό μμ²ν©λλ€. μ¦, νΉμ 리μμ€λ₯Ό μ‘°νν λ μ¬μ©ν©λλ€.
- POST
- νΉμ 리μμ€μ μν°ν°λ₯Ό μ μΆν λ μ°μ λλ€. μ΄λ μ’ μ’ μλ²μ μν λ³νλ λΆμμ©μ μΌμΌν΅λλ€.
- λ©μΈμ§ λ°λλ₯Ό ν΅ν΄ μλ²λ‘ μμ² λ°μ΄ν°λ₯Ό μ λ¬νκ³ , μλ²λ μμ² λ°μ΄ν°λ₯Ό μ²λ¦¬ν©λλ€.
- λ©μΈμ§ λ°λλ₯Ό ν΅ν΄ λ€μ΄μ¨ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ λͺ¨λ κΈ°λ₯μ μνν©λλ€.
- μ£Όλ‘ μ λ¬λ λ°μ΄ν°λ μ κ· λ¦¬μμ€ λ±λ‘, νλ‘μΈμ€ μ²λ¦¬μ μ¬μ©λ©λλ€.
- PUT
- λͺ©μ 리μμ€ λͺ¨λ νμ¬ νμλ₯Ό μμ² payloadλ‘ λ°κΏλλ€.
- 리μμ€κ° μμΌλ©΄ μμ±νκ³ , μμΌλ©΄ λ체ν©λλ€.
- POSTμ μ°¨μ΄μ μ ν΄λΌμ΄μΈνΈκ° 리μμ€μ μμΉλ₯Ό μ ννκ² μλ³νκ³ μμ΄μΌνλ€λ μ μ λλ€.
- λ©±λ±νμ§ μμ΅λλ€.
- PATCH
- 리μμ€μ λΆλΆλ§μ μμ νλ λ° μ°μ λλ€.
- DELETE
- 리μμ€λ₯Ό μ κ±°ν λ μ°μ λλ€.
- HEAD
- GETκ³Ό μ μ¬νμ§λ§ λ©μΈμ§ λΆλΆμ μ μΈνκ³ , μνμ€κ³Ό ν€λλ§ λ°ν
- OPTIONS
- λͺ©μ 리μμ€μ ν΅μ μ μ€μ νλ λ° μ°μ λλ€.
- CONNECT
- λͺ©μ 리μμ€λ‘ μλ³λλ μλ²λ‘μ ν°λμ λ§Ίμ΅λλ€.
- TRACE
- λͺ©μ 리μμ€μ κ²½λ‘λ₯Ό λ°λΌ λ©μμ§ loop-back ν μ€νΈλ₯Ό ν©λλ€.
μλ΅μ½λ
1XX
- μ 보μ λ¬ : μμ²μ λ°μκ³ , μμ μ μ§νμ€μ΄λΌλ μλ―Έ
2XX - Successful
- μμ μ μ±κ³΅μ μΌλ‘ λ°μκ³ , μ΄ν΄νμΌλ©°, λ°μλ€μ¬μ‘λ€λ μλ―Έ
- 200
- OK
- μ±κ³΅μ μΌλ‘ μ²λ¦¬νμ λ μ°μΈλ€. κ°μ₯ μΌλ°μ μΌλ‘ λ³Ό μ μλ HTTP μν
- 201
- Created
- μμ²μ΄ μ±κ³΅μ μΌλ‘ μ²λ¦¬λμ΄ λ¦¬μμ€κ° λ§λ€μ΄μ‘μμ μλ―Έ
- 202
- Accepted
- μμ²μ΄ λ°μλ€μ¬μ‘μ§λ§ μ²λ¦¬λμ§ μμμμ μλ―Έ
- μ μ¬μ©λμ§λ μμ΅λλ€.
- 204
- No Content
- μλ²κ° μμ²μ μ±κ³΅μ μΌλ‘ μννμ§λ§, μλ΅ νμ΄λ‘λ λ³Έλ¬Έμ λ³΄λΌ μ»¨ν μΈ κ° μλ κ²μ μλ―Έν©λλ€.
3XX - Redirection
- μμ²μ μλ£νκΈ° μν΄μ ν΄λΌμ΄μΈνΈμ μΆκ°μ μΈ μ‘°μΉκ° νμνλ€λ μλ―Έμ λλ€.
- μꡬ 리λ€μ΄λ μ
- 301
- Moved Permanently
- 리μμ€μ URIκ° μꡬμ μΌλ‘ μ΄λν κ²½μ°μ λλ€.
- 리λ€μ΄λ νΈμ μμ² λ©μλκ° GETμΌλ‘ λ³νκ³ , λ³Έλ¬Έμ΄ μ κ±°λ μ μμ΅λλ€.
- 301
- μΌμμ μΈ λ¦¬λ€μ΄λ μ
- 302
- Found
- 리λ€μ΄λ νΈ μμ²μ μμ² λ©μλκ° GETμΌλ‘ λ³νκ³ , λ³Έλ¬Έμ΄ μ κ±°λ μ μμ΅λλ€.
- μμ) Post / Redirect / Get → μ¬μ©μ μ μ₯μμ μ€μλ‘ μλ‘κ³ μΉ¨μ ν΄λ Getμ κ²°κ³Όνλ©΄λ§ μ‘°νλ©λλ€.
- Found
- 302
4XX - Client Error
- μ€λ₯μ μμΈμ΄ ν΄λΌμ΄μΈνΈμ μμΌλ©°, ν΄λΌμ΄μΈνΈμ μλͺ»λ λ¬Έλ²λ±μΌλ‘ μλ²κ° μμ²μ μνν μ μλ κ²½μ°μ λλ€.
- 401
- Unauthorized
- κΆν μμ
- μΈμ¦μ΄ νμν 리μμ€μ μΈμ¦ μμ΄ μ κ·Όν κ²½μ° λ°μν©λλ€.
- 403
- Forbidden
- μΈμ¦ μ격μ μμΌλ, μλ²κ° μμ²μ κ±°λΆν λ λ°μνλ€.
- 404
- Not Found
- μ°Ώλ 리μμ€κ° μλ€λ μλ―Έ, κ°μ₯ ννκ² λ³Ό μ μλ μ€λ₯μ½λμ λλ€. λλ κΆνμ΄ λΆμ‘±ν 리μμ€μ μ κ·Όν λ ν΄λΉ 리μμ€λ₯Ό μ¨κΈ°κ³ μΆμ κ²½μ° μ¬μ©ν©λλ€.
5XX - Server Error
- μλ² λ¬Έμ λ‘ μ€λ₯κ° λ°μνλ κ²½μ°μ λλ€.
- 503
- Service Temporally Unavailable
- μΌμμ μΌλ‘ μλΉμ€λ₯Ό μ΄μ©ν μ μλ κ²½μ°μ λλ€.