모든 HTTP 상태 코드의 의미와 활용법을 한눈에 확인하세요.
41개의 상태 코드
요청의 첫 부분을 받았으며 클라이언트는 계속 요청을 보내도 됩니다.
클라이언트가 요청한 프로토콜로 서버가 전환합니다.
서버가 요청을 수신하여 처리 중이나 아직 응답이 없습니다.
서버가 최종 응답을 준비하는 동안 미리 헤더를 보냅니다.
요청이 성공적으로 처리되었습니다.
요청이 성공하여 새 리소스가 생성되었습니다.
요청을 받았지만 아직 처리되지 않았습니다.
요청은 성공했지만 응답이 원본 서버가 아닌 프록시에서 수정되었습니다.
요청이 성공했으나 반환할 콘텐츠가 없습니다.
요청이 성공했으며 클라이언트는 문서를 초기화해야 합니다.
서버가 리소스의 일부만 전달합니다 (범위 요청).
요청에 대해 여러 응답이 가능합니다.
요청한 리소스가 영구적으로 새 URL로 이동했습니다.
요청한 리소스가 임시로 다른 URL에 있습니다.
POST 요청 후 GET으로 다른 URL을 확인하도록 합니다.
캐시된 리소스가 아직 유효하여 재전송할 필요가 없습니다.
리소스가 임시로 다른 URL에 있으며 HTTP 메서드를 변경하지 않아야 합니다.
리소스가 영구적으로 다른 URL에 있으며 HTTP 메서드를 변경하지 않아야 합니다.
서버가 요청을 이해할 수 없습니다. 문법 오류나 잘못된 요청 형식입니다.
인증되지 않은 요청입니다. 유효한 인증 자격증명이 필요합니다.
결제가 필요한 콘텐츠입니다.
서버가 요청을 이해했지만 권한이 없어 거부합니다.
요청한 리소스를 서버에서 찾을 수 없습니다.
요청한 HTTP 메서드가 해당 리소스에서 허용되지 않습니다.
서버가 클라이언트가 요청한 콘텐츠 형식을 제공할 수 없습니다.
클라이언트가 서버가 기다리는 시간 내에 요청을 보내지 않았습니다.
요청이 현재 서버 상태와 충돌합니다.
요청한 리소스가 영구적으로 삭제되어 더 이상 사용할 수 없습니다.
요청 데이터가 서버가 허용하는 크기를 초과합니다.
요청한 URI가 서버가 처리할 수 있는 길이를 초과합니다.
서버가 요청 페이로드의 미디어 타입을 지원하지 않습니다.
서버는 커피를 끓이는 것을 거부합니다. 이 코드는 만우절 농담입니다.
요청 형식은 올바르지만 의미론적 오류로 처리할 수 없습니다.
클라이언트가 지정된 시간 내에 너무 많은 요청을 보냈습니다.
법적 요청에 의해 해당 리소스에 접근할 수 없습니다.
서버에 예상치 못한 오류가 발생하여 요청을 처리할 수 없습니다.
서버가 요청을 처리하는 데 필요한 기능을 지원하지 않습니다.
게이트웨이/프록시 서버가 업스트림 서버로부터 잘못된 응답을 받았습니다.
서버가 일시적으로 요청을 처리할 수 없습니다. 과부하 또는 유지보수 중입니다.
게이트웨이/프록시 서버가 업스트림 서버로부터 제때 응답을 받지 못했습니다.
서버가 요청에 사용된 HTTP 버전을 지원하지 않습니다.
HTTP 상태 코드는 클라이언트의 HTTP 요청에 대해 서버가 반환하는 3자리 숫자입니다. 첫 번째 자리는 응답의 종류를 나타내며, 1xx(정보), 2xx(성공), 3xx(리다이렉션), 4xx(클라이언트 오류), 5xx(서버 오류)로 분류됩니다.
404(Not Found)는 리소스를 찾을 수 없다는 의미로, 임시적일 수도 있고 영구적일 수도 있습니다. 410(Gone)은 리소스가 영구적으로 삭제되어 다시는 복구되지 않을 것임을 명확히 알립니다. SEO 관점에서 410은 검색 엔진에 해당 URL을 색인에서 제거하도록 명시적으로 신호를 보냅니다.
301(영구 이동)은 검색 엔진이 기존 URL의 SEO 점수를 새 URL로 이전하고 브라우저가 응답을 캐시합니다. 302(임시 이동)는 원래 URL이 여전히 유효하며 검색 엔진과 브라우저가 새 URL을 캐시하지 않습니다. 영구적인 URL 변경에는 반드시 301을 사용하세요.
400(Bad Request)은 요청 자체가 잘못된 형식이거나 필수 파라미터가 없는 경우입니다. 401(Unauthorized)은 인증이 필요하거나 인증 정보가 잘못된 경우입니다. 403(Forbidden)은 인증과 무관하게 접근 권한이 없는 경우로, 로그인해도 접근할 수 없습니다.
502(Bad Gateway)는 프록시/게이트웨이 서버가 업스트림 서버로부터 유효하지 않은 응답을 받은 경우입니다. 504(Gateway Timeout)는 업스트림 서버로부터 제때 응답을 받지 못한 타임아웃 상황입니다. 둘 다 서버 인프라 문제이나 504는 처리 시간 초과가 원인입니다.
웹 개발과 API 설계에 필수적인 HTTP 상태 코드의 모든 것을 알아보세요.
RESTful API 설계 시 올바른 HTTP 상태 코드를 사용하는 것은 클라이언트와의 명확한 소통을 위해 매우 중요합니다. 예를 들어 리소스 생성 시 201, 삭제 성공 시 204, 유효성 검사 실패 시 422를 반환하면 클라이언트가 응답을 정확히 해석하고 적절한 처리를 할 수 있습니다.
HTTP 상태 코드는 검색 엔진 최적화(SEO)에도 직접적인 영향을 미칩니다. 301 리다이렉션은 기존 URL의 SEO 권위를 새 URL로 전달하고, 404는 존재하지 않는 페이지를 나타내며, 410은 영구 삭제를 명확히 알려 검색 엔진이 빠르게 색인에서 제거하도록 합니다.