CS

[WEB] HTTP μƒνƒœ μ½”λ“œ

meeeeejin 2021. 9. 28. 20:21

HTTP μƒνƒœ μ½”λ“œ

πŸ’‘ HTTP μƒνƒœ μ½”λ“œ

HTTP μƒνƒœ μ½”λ“œλŠ” 3자리 숫자둜 이루어지며, 첫 번째 숫자λ₯Ό κΈ°μ€€μœΌλ‘œ 5개의 클래슀둜 λΆ„λ₯˜ν•  수 μžˆλ‹€. 첫 번째 μˆ«μžμ— λŒ€ν•œ 5가지 λΆ„λ₯˜λŠ” λ‹€μŒκ³Ό κ°™λ‹€.

  • 1xx (정보): μš”μ²­μ„ λ°›μ•˜μœΌλ©° ν”„λ‘œμ„ΈμŠ€λ₯Ό κ³„μ†ν•œλ‹€.
  • 2xx (성곡): μš”μ²­μ„ μ„±κ³΅μ μœΌλ‘œ λ°›μ•˜μœΌλ©° μΈμ‹ν–ˆκ³  μˆ˜μš©ν•˜μ˜€λ‹€.
  • 3xx (λ¦¬λ‹€μ΄λ ‰μ…˜): μš”μ²­ μ™„λ£Œλ₯Ό μœ„ν•΄ μΆ”κ°€ μž‘μ—… μ‘°μΉ˜κ°€ ν•„μš”ν•˜λ‹€.
  • 4xx (ν΄λΌμ΄μ–ΈνŠΈ 였λ₯˜): μš”μ²­μ˜ 문법이 잘λͺ»λ˜μ—ˆκ±°λ‚˜ μš”μ²­μ„ μ²˜λ¦¬ν•  수 μ—†λ‹€.
  • 5xx (μ„œλ²„ 였λ₯˜): μ„œλ²„κ°€ λͺ…λ°±νžˆ μœ νš¨ν•œ μš”μ²­μ— λŒ€ν•΄ 좩쑱을 μ‹€νŒ¨ν–ˆλ‹€.

 

 

πŸ’‘ 1xx (쑰건뢀 응닡)

μš”μ²­μ„ λ°›μ•˜μœΌλ©° ν”„λ‘œμ„ΈμŠ€λ₯Ό κ³„μ†ν•œλ‹€.

HTTP/1.0 이래둜 μ–΄λ– ν•œ 1xx μƒνƒœ μ½”λ“œλ“€λ„ μ •μ˜λ˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— 이 μƒνƒœ μ½”λ“œλ₯Ό λ§Œλ‚  일은 거의 μ—†λ‹€. 

 

μƒνƒœ μ½”λ“œ μš”μ•½ μ„€λͺ…
100 Continue μš”μ²­μ— λ¬Έμ œκ°€ μ—†μœΌλ‹ˆ λ‹€μŒ μš”μ²­μ„ 보내도 됨

 

 

πŸ’‘ 2xx (성곡)

μš”μ²­μ„ μ„±κ³΅μ μœΌλ‘œ λ°›μ•˜μœΌλ©° μΈμ‹ν–ˆκ³  μˆ˜μš©ν•˜μ˜€λ‹€. 

 

μƒνƒœ μ½”λ“œ μš”μ•½ μ„€λͺ…
200 OK μš”μ²­μ΄ μ„±κ³΅μ μœΌλ‘œ μˆ˜ν–‰λ˜μ—ˆμŒ
(주둜 GET μš”μ²­μ— λŒ€ν•œ 응닡)
201 Created μš”μ²­μ΄ μ„±κ³΅μ μœΌλ‘œ μˆ˜ν–‰λ˜μ–΄ μƒˆλ‘œμš΄ λ¦¬μ†ŒμŠ€κ°€ 생성됨
(주둜 POST μš”μ²­μ— λŒ€ν•œ 응닡)
202 Accepted μš”μ²­μ€ μ ‘μˆ˜λ˜μ—ˆμ§€λ§Œ, μ²˜λ¦¬λŠ” μ™„λ£Œλ˜μ§€ μ•ŠμŒ
(배치 μ²˜λ¦¬μ™€ 같이 μš”μ²­ μ ‘μˆ˜ ν›„ 일정 μ‹œκ°„μ΄ μ§€λ‚œ ν›„ μš”μ²­μ„ μ²˜λ¦¬ν•˜λŠ” 경우)
203 Non-Authoritative Information μš”μ²­μ΄ 성곡적을 μˆ˜ν–‰λ˜μ—ˆμœΌλ‚˜, μš”μ²­μ— λŒ€ν•œ 검증이 λ˜μ§€ μ•ŠμŒ
204 No Content μš”μ²­μ΄ μ„±κ³΅μ μœΌλ‘œ μˆ˜ν–‰λ˜μ—ˆκ³ , 응닡 payload에 보낼 데이터가 μ—†μŒ
(주둜 DELETE μš”μ²­μ— λŒ€ν•œ 응닡)
205 Reset Content μš”μ²­μ„ μ„±κ³΅μ μœΌλ‘œ μ²˜λ¦¬ν–ˆμ§€λ§Œ μ½˜ν…μΈ λ₯Ό ν‘œμ‹œν•˜μ§€ μ•ŠμŒ -> ν΄λΌμ΄μ–ΈνŠΈκ°€ 컨텐츠λ₯Ό μž¬μ„€μ • ν•  것을 μš”κ΅¬
206 Partial Content GET μš”μ²­μ˜ μΌλΆ€λ§Œ μ„±κ³΅μ μœΌλ‘œ 처리

 

 

πŸ’‘ 3xx (λ¦¬λ‹€μ΄λ ‰μ…˜ μ™„λ£Œ)

μš”μ²­ μ™„λ£Œλ₯Ό μœ„ν•΄ μΆ”κ°€ μž‘μ—… μ‘°μΉ˜κ°€ ν•„μš”ν•˜λ‹€. 

 

μƒνƒœ μ½”λ“œ μš”μ•½ μ„€λͺ…
300 Multiple Choices μš”μ²­μ— λŒ€ν•΄ ν•˜λ‚˜ μ΄μƒμ˜ λ¦¬μ†ŒμŠ€κ°€ μ‘΄μž¬ν•¨
301 Moved Permanently μš”μ²­ν•œ λ¦¬μ†ŒμŠ€μ˜ URIκ°€ 변경됨
λΈŒλΌμš°μ €κ°€ ν•΄λ‹Ή 응닡을 λ°›μ•˜μ„ λ•Œ, λ§Œμ•½ HTTP ν—€λ”μ˜ Location ν•„λ“œκ°€ μ‘΄μž¬ν•  경우 ν•΄λ‹Ή ν•„λ“œμ— λ‹΄κΈ΄ URL둜 μžλ™μœΌλ‘œ λ¦¬λ‹€μ΄λ ‰μ…˜
302 Found μš”μ²­ν•œ λ¦¬μ†ŒμŠ€μ˜ URIκ°€ μΌμ‹œμ μœΌλ‘œ 변경됨
303 See Other μš”μ²­ν•œ λ¦¬μ†ŒμŠ€λ₯Ό λ‹€λ₯Έ URIμ—μ„œ GET μš”μ³₯을 톡해 μ–»μ–΄μ•Ό 함
304 Not Modified μˆ˜μ •λ˜μ§€ μ•ŠμŒ
ν΄λΌμ΄μ–ΈνŠΈλŠ” μ„œλ²„λ‘œλΆ€ν„° λ¦¬μ†ŒμŠ€λ₯Ό μž¬μ „μ†‘ 받지 μ•Šκ³ , μΊμ‹±λœ λ¦¬μ†ŒμŠ€ μ‚¬μš©
307 Temporary Redirect 302와 μœ μ‚¬ν•˜μ§€λ§Œ, User-Agentκ°€ HTTP λ©”μ†Œλ“œλ₯Ό λ³€κ²½ν•  수 μ—†μŒ
308 Permanent Redirect 301κ³Ό μœ μ‚¬ν•˜μ§€λ§Œ User-Agentκ°€ HTTP λ©”μ†Œλ“œλ₯Ό λ³€κ²½ν•  수 μ—†μŒ

 

 

πŸ’‘ 4xx (μš”μ²­ 였λ₯˜)

μš”μ²­μ˜ 문법이 잘λͺ»λ˜μ—ˆκ±°λ‚˜ μš”μ²­μ„ μ²˜λ¦¬ν•  수 μ—†λ‹€. 

 

μƒνƒœ μ½”λ“œ μš”μ•½ μ„€λͺ…
400 Bad Request 잘λͺ»λœ 문법 λ“±, ν΄λΌμ΄μ–ΈνŠΈκ°€ μ˜¬λ°”λ₯΄μ§€ λͺ»ν•œ μš”μ²­μ„ 보내 μ„œλ²„κ°€ μš”μ²­μ„ 이해할 수 μ—†μŒ
401 Unauthorized μΈμ¦λ˜μ§€ μ•Šμ€ μ‚¬μš©μžκ°€ 인증이 ν•„μš”ν•œ λ¦¬μ†ŒμŠ€λ₯Ό μš”μ²­ν•¨
402 Forbidden ν΄λΌμ΄μ–ΈνŠΈκ°€ 컨텐츠에 μ ‘κ·Όν•  κΆŒν•œμ΄ μ—†μŒ
401κ³Ό λ‹€λ₯΄κ²Œ ν΄λΌμ΄μ–ΈνŠΈκ°€ λˆ„κ΅°μ§€ μ„œλ²„ μΈ‘μ—μ„œ μ•Œκ³  있음
404 Not Found μš”μ²­ν•œ λ¦¬μ†ŒμŠ€κ°€ μ‘΄μž¬ν•˜μ§€ μ•ŠμŒ
405 Method Not Allowed ν˜„μž¬ λ¦¬μ†ŒμŠ€μ— λ§žμ§€ μ•ŠλŠ” λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•¨
406 No Acceptable μ•Œλ§žμ€ 컨텐츠 νƒ€μž…μ΄ μ—†μŒ
(μ„œλ²„μ˜ λ¦¬μ†ŒμŠ€κ°€ μš”μ²­μ˜ HTTP 헀더에 λ“€μ–΄μžˆλŠ” Accept ν•„λ“œμ— λͺ…μ‹œλœ 컨텐츠 νƒ€μž…μ΄ μ•„λ‹Œ 경우)
408 Request Timeout μš”μ²­μ— μ‘λ‹΅ν•˜λŠ” μ‹œκ°„μ΄ λ„ˆλ¬΄ 였래 κ±Έλ¦Ό
409 Conflict μš”μ²­μ΄ ν˜„μž¬ μ„œλ²„μ˜ μƒνƒœμ™€ 좩돌됨
412 Precondition Failed μ„œλ²„κ°€ μš”μ²­μžκ°€ μš”μ²­ μ‹œ λΆ€κ³Όν•œ 사전쑰건을 λ§Œμ‘±ν•˜μ§€ μ•ŠμŒ
413 Payload Too Large μš”μ²­μ΄ λ„ˆλ¬΄ μ»€μ„œ μ²˜λ¦¬ν•  수 μ—†μŒ
429 Too many Requests μ§€μ •λœ μ‹œκ°„μ— λ„ˆλ¬΄ λ§Žμ€ μš”μ²­μ„ 보냄

 

 

πŸ’‘ 5xx (μ„œλ²„ 였λ₯˜)

μ„œλ²„κ°€ λͺ…λ°±νžˆ μœ νš¨ν•œ μš”μ²­μ— λŒ€ν•΄ 좩쑱을 μ‹€νŒ¨ν–ˆλ‹€. 

μƒνƒœ μ½”λ“œ μš”μ•½ μ„€λͺ…
500 Internal Server Error μ„œλ²„μ— 였λ₯˜κ°€ λ°œμƒν•˜μ—¬ 응닡할 수 μ—†μŒ
501 Not Implemented μš”μ²­μ— λŒ€ν•œ μ„œλ²„μ˜ 응닡 μˆ˜ν–‰ κΈ°λŠ₯이 μ—†μŒ
502 Bad Gateway μ„œλ²„κ°€ κ²Œμ΄νŠΈμ›¨μ΄λ‘œλΆ€ν„° 잘λͺ»λœ 응닡을 μˆ˜μ‹ ν•¨
μ„œλ²„μ˜ λΆ€λͺ¨ μ„œλ²„μ—μ„œ 였λ₯˜κ°€ λ°œμƒν•œ 경우의 μ‘λ‹΅μœΌλ‘œ, 보톡 μ„œλ²„μ— μ ‘μ†ν•˜λŠ” μ‚¬μš©μžκ°€ λ§Žμ•„ κ³ΌλΆ€ν•˜λ  λ•Œ λ°œμƒ
503 Service Unavailable μ„œλ²„κ°€ μš”μ²­μ„ μ²˜λ¦¬ν•  μ€€λΉ„κ°€ λ˜μ§€ μ•ŠμŒ
504 Gateway Timeout μ„œλ²„κ°€ κ²Œμ΄νŠΈμ›¨μ΄ 역할을 ν•˜κ³  있으며, ν•œ μ„œλ²„κ°€ μ—‘μ„ΈμŠ€ν•˜κ³  μžˆλŠ” λ‹€λ₯Έ μ„œλ²„μ—μ„œ μ μ‹œμ— 응닡을 받지 λͺ»ν–ˆμŒ

 

 

 

Reference

https://velog.io/@sangyeon217/http-status-code

https://ko.wikipedia.org/wiki/HTTP_%EC%83%81%ED%83%9C_%EC%BD%94%EB%93%9C

 

 

 

 

728x90