π κΉμν λμ "λͺ¨λ κ°λ°μλ₯Ό μν HTTP μΉ κΈ°λ³Έ μ§μ" κ°μ λ£κ³ μ 리
πμνμ½λ λ?
ν΄λΌμ΄μΈνΈκ° λ³΄λΈ μμ²μ μ²λ¦¬ μνλ₯Ό μλ΅μμ μλ €μ£Όλ κΈ°λ₯
HTTP/1.1 200 OK
Content-Type: application/json
Content-length: 34
{
"username" : "young",
"age" : 20
}
- 1xx (Informational) : μμ²μ΄ μμ λμ΄ μ²λ¦¬μ€
- 2xx (Successful) : μμ² μ μ μ²λ¦¬
- 3xx (Redirection) : μμ²μ μλ£νλ €λ©΄ μΆκ° νλμ΄ νμ
- 4xx (Client Error) : ν΄λΌμ΄μΈνΈ μ€λ₯, μλͺ»λ λ¬Έλ² λ±μΌλ‘ μλ²κ° μμ²μ μνν μ μμ
- 5xx (Server Error) : μλ² μ€λ₯, μλ²κ° μ μ μμ²μ μ²λ¦¬νμ§ λͺ»ν¨
μ²μ 보λ μν μ½λκ° μλ€?
ν΄λΌμ΄μΈνΈκ° μΈμν μ μλ μνμ½λλ₯Ό μλ²κ° λ°ννκ² λλ©΄ ν΄λΌμ΄μΈνΈλ μμ μνμ½λλ‘ ν΄μν΄ μ²λ¦¬νκ² λλ€. κ·Έλμ μλ‘μ΄ μν μ½λκ° μΆκ° λλλΌλ ν΄λΌμ΄μΈνΈλ₯Ό λ³κ²½νμ§ μμλ λλ€. (ex. 299 ??? > 2xx (Successful))
π1xx (Informational)
κ±°μ μ¬μ©νμ§ μμΌλ―λ‘ μλ΅
π2xx - μ±κ³΅
ν΄λΌμ΄μΈνΈμ μμ²μ μ±κ³΅μ μΌλ‘ μ²λ¦¬
- 200 OK : μμ² μ±κ³΅
- 201 Created : μμ² μ±κ³΅ν΄ μλ‘μ΄ λ¦¬μμ€κ° μμ±λ¨, μμ±λ 리μμ€λ Location ν€λ νλλ‘ μλ³
- 202 Accepted : μμ² μ μλμμΌλ μ²λ¦¬λ λ―Έμλ£. λ°°μΉ μ²λ¦¬ λ±μ μ¬μ©. ex) μ μ λ€ 1μκ° λ€ λ°°μΉ νλ‘μΈμ€κ° μ²λ¦¬
- 204 No Content : μμ²μ μ±κ³΅μ μΌλ‘ μννμΌλ μλ΅ νμ΄λ‘λ λ³Έλ¬Έμ λ³΄λΌ λ°μ΄ν° μμ
- κ²°κ³Ό λ΄μ©μ΄ μμ΄λ 204 λ©μμ§(2xx)λ§μΌλ‘ μ±κ³΅μ μΈμ
- ex) μΉ λ¬Έμ νΈμ§κΈ°μ save λ²νΌ : λ²νΌ κ²°κ³Όλ‘ μ무 λ΄μ© μμ΄λ λλ€. λ²νΌμ λλ¬λ κ°μ νλ©΄μ μ μ§ν΄μΌ νλ€. λμ κ²½μ°
π3xx - 리λ€μ΄λ μ
μμ²μ μλ£νκΈ° μν΄ μ μ μμ΄μ νΈμ μΆκ° μ‘°μΉ νμ
μΉλΈλΌμ°μ λ 3xx μλ΅ κ²°κ³Όμ Location ν€λκ° μμΌλ©΄ ν΄λΉ μμΉλ‘ μλ μ΄λ(리λ€μ΄λ νΈ)νλ€.
- 300 Multiple Choices : μ¬μ©μν¨
- 301 Moved Permanently
- 302 Found
- 303 See Other
- 304 Not Modified
- 307 Temporary Redirect
- 308 Permanent Redirect
- 리λ€μ΄λ μ νλ¦

- 리λ€μ΄λ μ
μ μ’
λ₯
- μꡬ 리λ€μ΄λ μ
- νΉμ 리μμ€μ URIκ° μꡬμ μΌλ‘ μ΄λ (ex. /members > /users)
- μλ URL μ¬μ©νμ§ μμΌλ©° κ²μ μμ§ λ±μμλ λ³κ²½μ μΈμ§νλ€.
- 301 Moved Permanently : 리λ€μ΄λ νΈμ μμ² λ©μλκ° GETμ΄ λ μλ μκ³ , λ³Έλ¬Έμ΄ μ κ±°λ μλ μλ€ (λͺ¨νΈν¨)
- 308 Permanent Redirect : 301κ³Ό κΈ°λ₯μ΄ κ°μΌλ μ²μμ μμ² λ©μλμ λ³Έλ¬Έμ΄ μ μ§ λλ€
- μΌμ 리λ€μ΄λ μ
- μΌμμ μΈ μ κΉ μ΄λ (ex. μ£Όλ¬Έ μλ£ ν μ£Όλ¬Έ λ΄μνλ©΄μΌλ‘ μ΄λ. PRGν¨ν΄)
- μ€λ¬΄μμ λ§μ΄ μ¬μ©νλ λ°©μ
- 리μμ€ URIκ° μΌμμ μΌλ‘ λ³κ²½νκΈ° λλ¬Έμ κ²μ μμ§ λ±μμ URLμ λ³κ²½νλ©΄ μλλ€.
- 302 Found : 리λ€μ΄λ νΈμ μμ² λ©μλκ° GETμΌλ‘ λ³ν μ μκ³ , λ³Έλ¬Έμ΄ μ κ±°λ μλ μλ€. λͺ¨νΈνλ€.
- 303 See Other : 302μ κΈ°λ₯μ κ°κ³ 리λ€μ΄λ νΈ μμ² λ©μλκ° GETμΌλ‘ λ³κ²½ (302κ° κΈ°λ₯ μ€νμ λν΄ λͺ¨νΈν λΆλΆμ΄ μλ€λ©΄ 303μ νμ€νκ² GET λ©μλλ‘ μ¬μ©νλ€)
- 307 Temporary Redirect : 302μ κΈ°λ₯μ κ°μΌλ μ²μμ μμ² λ©μλμ λ³Έλ¬Έμ΄ μ μ§ λλ€ (μμ² λ©μλ λ³κ²½νλ©΄ μλ¨)
- μΌμμ 리λ€μ΄λ μ
μ μΈμ μΈκΉ?
PRGν¨ν΄ (Post Redirect Get) : Postλ‘ μ£Όλ¬Έ ν μλ‘κ³ μΉ¨ν κ²½μ° μ£Όλ¬Έμ μ¬μμ²νκ² λμ¬ μ€λ³΅ μ£Όλ¬Έμ΄ μκΈΈ μ κ° μλ€. μ΄λ postλ‘ μ£Όλ¬Ένκ³ μ£Όλ¬Έ κ²°κ³Ό νλ©΄μ getμΌλ‘ 리λ€μ΄λ νΈ νκ²λλ©΄ μλ‘κ³ μΉ¨ν΄λ κ²°κ³Ό νλ©΄μ getμμ²νκ² λλ μ€λ³΅μ νΌν μκ° μλ€.
PRG μ¬μ©μ μλ‘κ³ μΉ¨νλ©΄ orderκ° μ¬μμ²λμ΄ 5λ² λ°μ 
PRG μ¬μ©ν μλ‘κ³ μΉ¨νλ©΄ νμ λλ μ£Όλ¬Έ κ²°κ³Ό νλ©΄μ GETμμ²νκ² λμ΄ μ€λ³΅ μ£Όλ¬Έ λ°©μ§
- νΉμ 리λ€μ΄λ μ
- κ²°κ³Ό λμ μΊμ
- 304 Not Modified
- ν΄λΌμ΄μΈνΈμκ² λ¦¬μμ€κ° μμ λμ§ μμμΌλ λ‘컬PC μΊμλ₯Ό μ¬μ¬μ©νλΌλ©° μΊμλ‘ λ¦¬λ€μ΄λ νΈ μν΄.
- 304 μλ΅μ μλ΅μ λ©μμ§ λ°λλ₯Ό ν¬ν¨νλ©΄ μλλ€(λ‘컬 μΊμλ₯Ό μ¬μ©ν΄μΌ νλ―λ‘).
- μ‘°κ±΄λΆ GET, HEAD μμ²μ μ¬μ©
- 304 Not Modified
- μꡬ 리λ€μ΄λ μ
- νΉμ 리μμ€μ URIκ° μꡬμ μΌλ‘ μ΄λ (ex. /members > /users)
π4xx (Client Error)
ν΄λΌμ΄μΈνΈ μ€λ₯
- ν΄λΌμ΄μΈνΈμ μμ²μ μλͺ»λ λ¬Έλ²λ±μΌλ‘ μλ²κ° μμ²μ μνν μ μμ λ
- μ€λ₯μ μμΈμ΄ ν΄λΌμ΄μΈνΈμ μμ
- βν΄λΌμ΄μΈνΈκ° μ΄λ―Έ μλͺ»λ μμ²μ΄λ λ°μ΄ν°λ₯Ό 보λ΄κ³ μμ΄ λκ°μ μ¬μλλ λͺλ²μ ν΄λ μ€ν¨ν μ λ°μ μλ€. (볡ꡬ λΆκ°λ₯)
- 400 Bad Request : ν΄λΌμ΄μΈνΈκ° μλͺ»λ μμ²μ ν΄μ μλ²κ° μμ²μ μ²λ¦¬ν μ μμ. μμ² κ²ν νμ¬ λ€μ 보λ΄μΌ ν¨
- 401 Unauthorized : ν΄λΌμ΄μΈνΈκ° ν΄λΉ 리μμ€μ λν μΈμ¦μ΄ νμ.
- μΈμ¦(Authentication) λμ§ μμ
- 401 μ€λ₯ λ°μμ μλ΅μ WWW-Authenticate ν€λμ ν¨κ» μΈμ¦ λ°©λ² μ€λͺ μ 보λΈλ€.
- μ°Έκ³
- μΈμ¦ (Authentication): λ³ΈμΈμ΄ λꡬμΈμ§ νμΈ
- μΈκ° (Authorization): κΆνλΆμ¬ (μΈμ¦μ΄ μμ΄μΌ μΈκ°κ° μλ€)
- 403 Forbidden : μλ² μμ² μ΄ν΄νμ§λ§ μΉμΈ κ±°λΆ, μ£Όλ‘ μΈμ¦ μ격 μ¦λͺ μ μμΌλ μ κ·Ό κΆνμ΄ μλ κ²½μ°
- 404 Not Found : μμ² λ¦¬μμ€κ° μλ²μ μμ΄ λ¦¬μμ€ μ°Ύμ μ μμ λλ ν΄λΌμ΄μΈνΈκ° κΆνμ΄ λΆμ‘±ν 리μμ€μ μ κ·Ό μλ νμ λ 리μμ€λ₯Ό μ¨κΈ°κ³ μ νλ©΄ μ¬μ©
π5xx (Server Error)
μλ² μ€λ₯
- μ€λ₯μ μμΈμ΄ μλ²μ μμ
- μλ²μ λ¬Έμ κ° μμ΄ μ¬μλνλ©΄ μ±κ³΅ ν μλ μλ€. (볡ꡬ λ±μΌλ‘ μνκ° λ³νμ¬)
- 500 Internal Server Error : μλ² λ΄λΆ λ¬Έμ λ‘ μ€λ₯ λ°μ, μλ²μμ λ°μν μλ¬κ° μ λ§€ν κ²½μ° 500μΌλ‘
- 503 Service Unavailavle : μλΉμ€ μ΄μ© λΆκ°. μΌμμ κ³ΌλΆνλ μμ λ μμ μΌλ‘ μμ²μ μ²λ¦¬ν μ μμ κ²½μ°λ₯Ό λ§νλ€. Retry-After ν€λ νλλ‘ λ³΅κ΅¬ μκΈ°λ₯Ό μ μ μλ€.
λ€μ΄μ¨ λ°μ΄ν° κ°μ λν μμΈλ₯Ό 500μ²λ¦¬νλ©΄ μλλ€. λ€μ΄μ¨ λ°μ΄ν°μ λ¬Έμ κ³ λ‘μ§μμΌλ‘λ μ μ μμ λ κ²μ΄κΈ° λλ¬Έ. λ°λΌμ ν΄λΌμ΄μΈνΈμ μλ²μμ λ°μν μ€λ₯λ₯Ό λͺ ννκ² κ΅¬λΆν μ€ μμμΌνλ€.
'Computer Science > Web' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| HTTP μΉ μ§μ - HTTP ν€λ2 (μΊμμ μ‘°κ±΄λΆ μμ²) (0) | 2023.03.13 |
|---|---|
| HTTP μΉ μ§μ - HTTP ν€λ1 (μΌλ° ν€λ) (0) | 2023.03.12 |
| HTTP μΉ μ§μ - HTTP λ©μλ νμ© (0) | 2023.03.08 |
| HTTP μΉ μ§μ - HTTP APIλ₯Ό λ§λ€μ΄λ³΄μ (0) | 2023.03.07 |
| HTTP μΉ μ§μ - λͺ¨λ κ²μ΄ HTTP (0) | 2023.03.06 |
