[CS] HTTP 응답 상태 코드

또띠·2023년 11월 22일
0

CS

목록 보기
1/7

⛳️ 응답 상태 코드란?

서버에서 클라이언트로 HTTP 요청에 대한 결과를 전달하는데 사용되는 3자리 숫자로,
이 코드를 통해 요청이 성공적으로 처리되었는지 또는 어떤 문제가 발생했는지를 나타낸다.

평소 개발하면서 접해 보았던 HTTP 응답 상태 코드에 대해 다양하게 검색해보고 의미를 정리해 보았다.
보통은 200아님 400번대 아니면 500을 봤는데, 100번대랑 300번대도 있다는걸 알게 되었다. 😳


🔵 100번대

주로 클라이언트의 요청이 계속 진행 중임을 나타냄.

100 Continue (계속)
클라이언트가 요청을 계속해도 되는지 서버가 확인하는 데 사용됩니다.
일반적으로 큰 요청을 보낼 때 사용됩니다.

101 Switching Protocols (프로토콜 전환)
서버가 요청의 업그레이드를 수락하고
클라이언트와 새로운 프로토콜로 통신하기 시작할 것임을 나타냅니다.

102 Processing (처리 중)
서버가 요청을 받았지만 아직 완전히 처리되지 않았음을 나타냅니다.
장시간 소요되는 작업을 처리 중일 때 사용될 수 있습니다.


🟢 200번대

클라이언트의 요청이 성공적으로 처리되었음을 나타냄.

200 OK (성공)
클라이언트의 요청이 성공적으로 처리되었음을 나타냅니다.
서버는 요청을 이해하고 수락했으며 요청된 정보를 제공합니다.

201 Created (작성됨)
요청이 성공적으로 처리되었고, 그 결과로 새로운 리소스가 생성되었음을 나타냅니다.
일반적으로 POST 요청에 사용됩니다.

204 No Content (콘텐츠 없음)
서버가 요청을 성공적으로 처리했지만 추가 콘텐츠를 제공하지 않는다는 것을 나타냅니다.
주로 PUT 또는 DELETE 요청에 사용됩니다.

206 Partial Content (부분 콘텐츠)
서버가 일부만 요청된 범위의 콘텐츠를 성공적으로 반환했음을 나타냅니다.
주로 다운로드 관리를 위해 사용됩니다.


🟣 300번대

클라이언트의 요청을 완료하기 위해 추가 동작이 필요함을 나타냄. 주로 리다이렉션과 관련 있음.

300 Multiple Choices (다중 선택)
클라이언트 요청에 대해 여러 가지 응답이 가능하다는 것을 나타냅니다. 사용자는 선택할 수 있습니다.

301 Moved Permanently (영구적으로 이동함)
요청한 리소스가 새로운 위치로 영구적으로 이동되었음을 나타냅니다.
클라이언트는 이후에는 새로운 주소를 사용해야 합니다.

302 Found (찾음)
리소스가 일시적으로 다른 위치에 있음을 나타냅니다.
클라이언트는 임시로 새로운 주소를 사용해야 하며, 검색 엔진 등은 요청 주소를 유지해야 합니다.

304 Not Modified (수정되지 않음)
클라이언트가 조건부 GET 요청을 보냈을 때, 리소스가 수정되지 않았음을 나타냅니다.
클라이언트는 캐시된 버전을 계속 사용할 수 있습니다.

307 Temporary Redirect (임시적 리다이렉트)
302와 유사하지만, 클라이언트는 요청 메서드를 변경하지 말아야 합니다.
POST 요청은 마찬가지로 POST로 유지됩니다.

308 Permanent Redirect (영구적 리다이렉트)
301과 유사하지만, 클라이언트는 요청 메서드를 변경하지 말아야 합니다.
POST 요청은 마찬가지로 POST로 유지됩니다.


🟡 400번대

클라이언트의 요청이 부적절하거나 잘못되었음을 나타냄. 클라이언트 측에서 수정이 필요한 경우에 해당.

400 Bad Request (잘못된 요청)
클라이언트의 요청이 부적절하거나 잘못되었음을 나타냅니다.
서버는 요청의 구문을 이해하지 못했거나 요청이 유효하지 않다고 판단했습니다.

401 Unauthorized (인증 실패)
요청한 리소스에 대한 인증이 필요함을 나타냅니다.
클라이언트가 유효한 자격 증명을 제공하지 않았을 경우 발생합니다.

403 Forbidden (금지됨)
클라이언트가 요청한 리소스에 접근할 권한이 없음을 나타냅니다.
서버는 클라이언트의 요청을 이해했지만 권한 부족으로 거부했습니다.

404 Not Found (찾을 수 없음)
요청한 리소스가 서버에 없음을 나타냅니다. 주로 잘못된 엔드포인트나 경로로 인해 발생합니다.

405 Method Not Allowed (허용되지 않는 메서드)
클라이언트가 사용한 HTTP 메서드가 해당 리소스에서 허용되지 않음을 나타냅니다.

409 Conflict (충돌)
서버가 현재 상태에서 요청을 처리할 수 없는 상태임을 나타냅니다.
주로 충돌이 발생한 경우에 사용됩니다.


🔴 500번대

서버 측에서 오류가 발생했음을 나타냄.
클라이언트는 아무리 요청을 올바르게 보냈더라도 서버에서 문제가 발생하여 요청을 처리할 수 없다는 것을 나타냄.

500 Internal Server Error (내부 서버 오류)
서버 측에서 처리 중에 오류가 발생했음을 나타냅니다.
이는 주로 서버 측 코드의 버그나 예외로 인해 발생합니다.

501 Not Implemented (구현되지 않음)
서버가 클라이언트의 요청을 처리할 준비가 되어있지 않거나,
요청한 기능이 서버에서 구현되지 않았음을 나타냅니다.

502 Bad Gateway (게이트웨이 오류)
서버가 게이트웨이 또는 프록시 역할
을 하고 있고, 상위 서버에서 잘못된 응답을 받았을 때 발생합니다.

503 Service Unavailable (서비스를 사용할 수 없음)
서버가 일시적으로 과부하되었거나 유지 보수 중이어서 요청을 처리할 수 없음을 나타냅니다.

504 Gateway Timeout (게이트웨이 시간 초과)
서버가 게이트웨이 또는 프록시 역할
을 하고 있고, 상위 서버에서 시간 내에 응답이 없을 때 발생합니다.

505 HTTP Version Not Supported (지원되지 않는 HTTP 버전)
서버가 클라이언트가 사용하는 HTTP 버전을 지원하지 않을 때 발생합니다.

profile
✨ 𝑬𝒗𝒆𝒓𝒚𝒕𝒉𝒊𝒏𝒈 𝒄𝒐𝒎𝒆𝒔 𝒕𝒐 𝒉𝒊𝒎 𝒘𝒉𝒐 𝒉𝒖𝒔𝒕𝒍𝒆𝒔 𝒘𝒉𝒊𝒍𝒆 𝒉𝒆 𝒘𝒂𝒊𝒕𝒔. ✨

0개의 댓글