πŸŸ’πŸŸ‘πŸ”΄ Status Code (μƒνƒœ μ½”λ“œ)

Status Code

μƒνƒœ μ½”λ“œλž€, HTTP Response Message 내에 λ“€μ–΄μžˆλŠ” μ •λ³΄λ‘œ μ„œλ²„κ°€ ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”μ²­μ„ μ²˜λ¦¬ν•œ κ²°κ³Όλ₯Ό λ‚˜νƒ€λ‚Έ μ„Έ 자리 μˆ˜μ΄λ‹€. κ°€μž₯ 첫 번째 μˆ«μžκ°€ μƒμœ„ μƒνƒœμ½”λ“œλ‘œ μƒνƒœμ˜ μ’…λ₯˜λ₯Ό λ‚˜νƒ€λ‚΄κ³ , λ‚˜λ¨Έμ§€ μˆ«μžλŠ” 세뢀적인 처리 κ²°κ³Όλ₯Ό λ‚˜νƒ€λ‚Έλ‹€.

🟒 2xx (Success)

200λ²ˆλŒ€ μƒνƒœ μ½”λ“œλŠ” ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”μ²­μ„ μ„±κ³΅μ μœΌλ‘œ μˆ˜ν–‰ν–ˆμŒμ„ λ‚˜νƒ€λ‚Έλ‹€.

200 OK

  • μš”μ²­μ΄ μ„±κ³΅μ μœΌλ‘œ μ΄ν–‰λ˜μ—ˆμŒμ„ λ‚˜νƒ€λƒ„

201 Created

  • POST μš”μ²­ 등에 μ˜ν•΄ μ„±κ³΅μ μœΌλ‘œ μƒˆλ‘œμš΄ λ¦¬μ†ŒμŠ€κ°€ μƒμ„±λ˜μ—ˆμŒμ„ λ‚˜νƒ€λƒ„

204 No Content

  • μš”μ²­μ€ μ„±κ³΅μ μœΌλ‘œ μˆ˜ν–‰λ˜μ—ˆμœΌλ‚˜ μ‘λ‹΅μœΌλ‘œ 보낼 데이터가 μ—†μŒ

  • 이 λŒ€μ‹  200을 써도 됨 (μƒνƒœ μ½”λ“œκ°€ λ„ˆλ¬΄ μ„ΈλΆ„ν™”λ˜λŠ” 것도 λΆ„κΈ° 처리 μ‹œ λ³΅μž‘ν•  수 있기 λ•Œλ¬Έμ—β€¦)

  • 본문에 보낼 데이터가 μ—†λŠ” 것이 λ‘œμ§μƒ λ§žμ„ λ•Œμ— μ‚¬μš©

    • ex) μž‘μ„± μ€‘μ΄λ˜ 글을 save λ²„νŠΌμ„ 눌러 μž„μ‹œμ €μž₯ν•˜λŠ” 경우

    • μžˆμ„ μˆ˜λ„ μžˆλŠ”λ° 데이터가 μ—†μ–΄μ„œ 보낼 게 μ—†λŠ” 경우(μž‘μ„±ν•œ κ²Œμ‹œλ¬Ό 리슀트 쑰회λ₯Ό ν–ˆλŠ”λ° μž‘μ„±ν•œ κ²Œμ‹œλ¬Όμ΄ μ—†λŠ” 경우)μ—λŠ” κ·Έλƒ₯ 200κ³Ό ν•¨κ»˜ 빈 배열을 λ³΄λ‚΄λŠ” 것이 μ’‹μŒ

🟑 3xx (Redirection)

300λ²ˆλŒ€ μƒνƒœ μ½”λ“œλŠ” μš”μ²­μ„ μ™„λ£Œν•˜κΈ° μœ„ν•΄ ν΄λΌμ΄μ–ΈνŠΈ(λΈŒλΌμš°μ €)κ°€ 좔가적인 쑰치λ₯Ό 이행해야 함을 λ‚˜νƒ€λ‚Έλ‹€.

301 Moved Permanently, 302 Found

  • λ¦¬μ†ŒμŠ€ μžμ²΄κ°€ 영ꡬ적으둜 μ΄λ™λ˜μ—ˆμŒμ„ λ‚˜νƒ€λƒ„

  • Responseμ—μ„œ Location 헀더에 바뀐 λ¦¬μ†ŒμŠ€λ₯Ό λ‹΄μ•„ 보내주면 μƒˆλ‘œμš΄ λ¦¬μ†ŒμŠ€λ‘œ μ ‘κ·Όν•˜κΈ° μœ„ν•΄ ν•΄λ‹Ή λ¦¬μ†ŒμŠ€λ‘œ GET μš”μ²­μ„ 보냄

307 Temporary Redirect, 308 Permanent Redirect

  • ν˜ΈμΆœν•œ API의 URIκ°€ λ³€κ²½λ˜μ—ˆμŒμ„ λ‚˜νƒ€λƒ„

  • Responseμ—μ„œ Location 헀더에 바뀐 λ¦¬μ†ŒμŠ€λ₯Ό λ‹΄μ•„ 보내주면 λ™μΌν•œ HTTP λ©”μ†Œλ“œ, λ™μΌν•œ λ°μ΄ν„°λ‘œ λ³€κ²½λœ URI에 μž¬μš”μ²­

304 Not Modified

  • μΊμ‹œλ₯Ό μœ„ν•΄ μ‚¬μš©

  • ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ ν•΄λ‹Ή λ¦¬μ†ŒμŠ€κ°€ μˆ˜μ •λ˜μ§€ μ•Šμ•˜μŒμ„ λ‚˜νƒ€λ‚Έλ‹€. 즉, ν΄λΌμ΄μ–ΈνŠΈμ— μ €μž₯된 μΊμ‹œκ°€ μœ νš¨ν•¨μ„ μ•Œλ €μ€Œ

  • ν΄λΌμ΄μ–ΈνŠΈλŠ” ν•΄λ‹Ή 응닡을 λ°›μœΌλ©΄ μ €μž₯된 μΊμ‹œλ₯Ό μ‚¬μš©

  • λ”°λΌμ„œ, ν•΄λ‹Ή 응닡은 데이터λ₯Ό ν¬ν•¨ν•˜λ©΄ μ•ˆ 됨 (μΊμ‹œλ₯Ό μ‚¬μš©ν•˜λΌκ³  μ§€μ‹œλ§Œ ν•  뿐)

πŸ”΄ 4xx (Client Error)

400λ²ˆλŒ€ μƒνƒœ μ½”λ“œλŠ” ν΄λΌμ΄μ–ΈνŠΈμ˜ 잘λͺ»μœΌλ‘œ 인해 μš”μ²­μ΄ μ •μƒμ μœΌλ‘œ μˆ˜ν–‰λ˜μ§€ μ•Šμ•˜μŒμ„ λ‚˜νƒ€λ‚Έλ‹€.

400 Bad Request

  • ν΄λΌμ΄μ–ΈνŠΈκ°€ μš”μ²­ λ‚΄μš©μ„ 잘λͺ» κ΅¬μ„±ν•˜μ—¬ μš”μ²­ μ²˜λ¦¬μ— μ‹€νŒ¨ν•¨

  • 즉, ν•΄λ‹Ή λ¦¬μ†ŒμŠ€κ°€ μ‘΄μž¬ν•˜μ§€λ§Œ μš”μ²­μ„ μœ„ν•œ μŠ€νŽ™μ„ μ€€μˆ˜ν•˜μ§€ μ•ŠμŒ

401 UnAuthorized

  • ν•΄λ‹Ή λ¦¬μ†ŒμŠ€μ— μ ‘κ·Όν•˜κΈ° μœ„ν•΄μ„œλŠ” 인증 절차λ₯Ό 거쳐야 함을 λ‚˜νƒ€λƒ„

  • WWW-Authenticate 헀더에 인증 방법을 μ„€λͺ…ν•΄μ„œ 첨뢀

403 Forbidden

  • λ¦¬μ†ŒμŠ€λ„ μ‘΄μž¬ν•˜κ³ , 인증 μ ˆμ°¨λ„ κ±°μ³€μœΌλ‚˜ ν•΄λ‹Ή κΆŒν•œμœΌλ‘œλŠ” 이 λ¦¬μ†ŒμŠ€λ₯Ό νšλ“ν•  수 μ—†μŒμ„ λ‚˜νƒ€λƒ„

  • λ³΄μ•ˆμ  이슈둜 403 λŒ€μ‹  404λ₯Ό μ‚¬μš©ν•˜κΈ°λ„ 함

    • 403은 μ–΄μ¨Œλ“  μžμ›μ΄ μžˆλ‹€λŠ” 사싀은 λ“€ν‚€κΈ° λ•Œλ¬Έμ—, μ•…μ˜μ  μ‚¬μš©μžκ°€ μœ„μž₯ 등을 톡해 ν•΄λ‹Ή μžμ›μ„ 정상적이지 λͺ»ν•œ 절차둜 νƒˆμ·¨ν•  수 있음

404 Not Found

  • μš”μ²­ν•œ λ¦¬μ†ŒμŠ€κ°€ μ„œλ²„μ— μ—†μŒμ„ λ‚˜νƒ€λƒ„

πŸ”΄ 5xx (Server Error)

500λ²ˆλŒ€ μƒνƒœ μ½”λ“œλŠ” μ„œλ²„μ˜ 문제둜 인해 μš”μ²­μ΄ μ •μƒμ μœΌλ‘œ μˆ˜ν–‰λ˜μ§€ μ•Šμ•˜μŒμ„ λ‚˜νƒ€λ‚Έλ‹€.

500λ²ˆλŒ€ 였λ₯˜λŠ” μ΅œλŒ€ν•œ κ°œλ°œμžκ°€ μ˜λ„μ μœΌλ‘œ λ°œμƒμ‹œν‚€μ§€ μ•Šμ•„μ•Ό ν•œλ‹€. 즉, λΉ„μ¦ˆλ‹ˆμŠ€ 둜직 상 μ˜ˆμ™ΈμΈ 것은 200λ²ˆλŒ€λ‚˜ 400λ²ˆλŒ€λ‘œ μ²˜λ¦¬ν•΄μ•Ό ν•˜λ©° 500λ²ˆλŒ€ 였λ₯˜λŠ” μ†ŒμŠ€ 상 였λ₯˜(ex: NullPointerException) 등에 ν•΄λ‹Ή

500 Internal Server Error

  • μ„œλ²„ λ‚΄λΆ€ 문제둜 였λ₯˜κ°€ λ°œμƒν•΄ μš”μ²­μ„ μ΄ν–‰ν•˜μ§€ λͺ»ν–ˆμŒμ„ λ‚˜νƒ€λƒ„

  • μ›¬λ§Œν•œ μ„œλ²„ 였λ₯˜λŠ” λ‹€ 500 처리

503 Service Unavailable

  • μ„œλ²„λ₯Ό μΌμ‹œμ μœΌλ‘œ μ‚¬μš©ν•  수 μ—†μŒμ„ λ‚˜νƒ€λƒ„. 500은 ν„°μ‘Œλ‹€ 라면 503은 μ˜λ„μ  μ„œλ²„ 쀑지 정도?

Last updated