HTTP 응답 코드 종류
CS
작성일 : 2024.06.01
라이브 쳇 개발을 하며 HTTP 응답과 HTTP 응답 코드에 대해 궁금해져 이 글을 작성합니다.
HTTP 응답 코드는 HTTP 요청이 성공적으로 완료되었는지 알려주는 코드입니다. 이 응답은 5그룹으로 나누어져있고 숫자로 그 상태를 나타냅니다.
HTTP 응답 코드의 종류
1xx: Informational (정보 응답) - 클라이언트의 요청을 서버가 수신했으며, 추가 작업을 기다리라는 정보를 제공. - 이 응답 코드는 클라이언트와 서버 간 통신 상태를 유지하는 데 사용됩니다.
2xx: Success (성공) - 요청이 성공적으로 수신, 이해, 처리되었음을 나타냅니다.
3xx: Redirection (리다이렉션) - 클라이언트가 요청을 완료하려면 리소스가 다른 위치로 이동했거나 추가 작업(예: 리다이렉션)이 필요합니다.
4xx: Client Error (클라이언트 오류) - 클라이언트의 잘못된 요청(예: 문법 오류, 인증 실패 등)으로 인해 서버가 요청을 처리할 수 없습니다. - 문제는 클라이언트 쪽에 있으며, 요청을 수정해야 합니다.
5xx: Server Error (서버 오류) - 요청은 유효하지만 서버에서 처리하는 중 문제가 발생했습니다. - 문제는 서버 쪽에 있으며, 클라이언트가 요청을 변경해도 해결되지 않습니다.
1xx: Informational
상태 코드 | 상태 메세지 | 설명 |
---|---|---|
100 | Continue | 서버가 데이터를 받아드릴 준비가 되어 있는지 확인하기 위해 사용됩니다. |
101 | Switching Protocols | 클라이언트 요청에 따라 서버가 프로토콜을 전환했음을 나타냅니다. |
102 | Processing | 서버가 요청을 수신했지만, 처리가 완료되지 않았음. |
103 | Early Hints | 웹 페이지의 리소스를 미리 로드할 수 있도록 브라우저에 보내는 힌트 입니다. |
2xx: Success
상태 코드 | 상태 메세지 | 설명 |
---|---|---|
200 | OK | 클라이언트의 요청이 성공적으로 처리되었음을 나타냅니다. |
201 | Created | 클라이언트의 요청에 의해 새로운 리소스가 성공적으로 생성되었습니다. |
202 | Accepted | 클라이언트의 요청이 접수되었으나 아직 서버에서 처리를 완료하지 못했다는 의미 입니다. |
203 | Non-Authoritative Information | 요청이 성공적으로 처리되었지만 정보가 중간 캐시나 다른 출처에서 온 정보입니다. |
204 | No Content | 요청이 성공적으로 처리되었지만 응답 본문이 없습니다. 보통 리소스를 삭제한 후 응답으로 사용됩니다. |
205 | Reset Content | 새로 고침하라는 의미 입니다. |
206 | Partial Content | 큰 파일이나 미디어를 부분적 다운로드할 때 사용되는 코드입니다. |
207 | Multi-Status | WebDAV에서 사용되며 여러 리소스에 대한 상태 코드를 한 번에 응답할 때 사용됩니다. |
208 | Already Reported | WebDAV에서 사용되며 같은 리소스를 여러 번 보고하는 것을 방지하기 위해 사용됩니다. |
218 | This is Fine | Apache 웹 서버에서 사용되는 비공식적인 상태 코드입니다. 오류가 발생했지만 서버에서는 문제 없이 처리되었음을 나타냅니다. |
226 | IM Used | HTTP Delta Encoding 기법을 사용해 수정된 부분만 보내는 방식입니다 |
3xx: Redirection
상태 코드 | 상태 메세지 | 설명 |
---|---|---|
301 | Moved Permanently | 요청한 리소스가 영구적으로 다른 위치로 이동되었음 |
302 | Found | 요청한 리소스가 임시로 다른 위치로 이동되었음 |
303 | See Other | 요청한 리소스를 다른 위치에서 확인할 수 있음 |
304 | Not Modified | 리소스가 변경되지 않았으며 캐시된 데이터를 사용하면 됩니다. |
307 | Temporary Redirect | 임시 리디렉션으로 클라이언트는 원래 URL로 돌아와야 합니다. HTTP 메서드는 유지됩니다. |
308 | Permanent Redirect | 영구 리디렉션으로 클라이언트는 새로운 URL을 사용해야 하며, HTTP 메서드는 유지됩니다. |
4xx: Client Error
상태 코드 | 상태 메세지 | 설명 |
---|---|---|
400 | Bad Request | 클라이언트의 요청이 잘못되어 서버가 처리할 수 없음 |
401 | Unauthorized | 인증이 필요하며, 인증이 없거나 실패한 경우 |
403 | Forbidden | 클라이언트는 요청을 했지만, 서버가 이를 거부함 |
404 | Not Found | 요청한 리소스를 서버에서 찾을 수 없음 |
405 | Method Not Allowed | 요청된 HTTP 메서드가 리소스에서 허용되지 않음 |
408 | Request Timeout | 클라이언트의 요청이 시간 내에 완료되지 않았음 |
409 | Conflict | 요청이 서버의 현재 상태와 충돌함 |
410 | Gone | 요청한 리소스가 더 이상 존재하지 않음 |
411 | Length Required | Content-Length 헤더가 필요하지만 요청에 포함되지 않음 |
413 | Payload Too Large | 요청이 너무 커서 서버가 처리할 수 없음 |
5xx: Server Error
상태 코드 | 상태 메세지 | 설명 |
---|---|---|
500 | Internal Server Error | 서버 내부에서 예상치 못한 오류가 발생하여 요청을 처리할 수 없음 |
501 | Not Implemented | 서버가 요청된 기능을 지원하지 않음 |
502 | Bad Gateway | 서버가 게이트웨이 또는 프록시로서 잘못된 응답을 받음 |
503 | Service Unavailable | 서버가 일시적으로 과부하나 유지보수로 인해 서비스를 제공할 수 없음 |
504 | Gateway Timeout | 게이트웨이 또는 프록시 서버가 시간 내에 응답을 받지 못함 |
505 | HTTP Version Not Supported | 서버가 요청된 HTTP 버전을 지원하지 않음 |