본문 바로가기
Backend

HTTP 응답 상태 코드(Status Code)

by hyeok1235 2024. 1. 4.

HTTP 응답 header 예시

HTTP/1.1 **200 OK**
Server: Apache/2.4.29 (Ubuntu)
Date: Tue, 18 Jan 2022 08:30:45 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Connection: keep-alive
Cache-Control: max-age=3600

 

상태 코드 (Status Code)는 클라이언트의 요청에 대한 응답이 어떤 상태인지 알려줍니다.

100-199 Informational Responses 요청이 수신됨 + 작업 수행 중

200-299 Successful Responses 요청이 성공적으로 수신+이해+수행 완료됨
300-399 Redirection Messages 요청을 수행하기 위해서 추가 작업이 필요함
400-499 Client Error Responses 요청이 수행될 수 없음 (클라이언트 문제)
500-599 Server Error Responses 요청이 수행될 수 없음 (서버 문제)

 

*전체 리스트는 공식 문서에서 확인 가능합니다. 만약 이 목록에 없는 상태 코드를 수신했다면, 표준에 부합하는 코드는 아니며 서버에서 커스텀한 코드일 수 있습니다.

 

대표적인 코드

100 Continue : 요청의 첫 부분을 수신하였고, 나머지 부분을 진행해도 됨

 

200 OK : 요청은 성공적이었으며, 서버가 요청된 데이터를 리턴함

201 Created : 요청은 성공적이었으며, 결과로 새로운 리소스가 생성됨

204 No Content : 요청은 성공적이었으나, 반환할 내용은 없음 (ex. AJAX)

 

301 Moved Permanently : 요청된 리소스가 다른 위치로 영구적으로 이동되어 있음

302 Found : 요청된 리소스가 다른 URL에 존재함

304 Not Modified : 요청된 리소스가 이전 응답과 다르지 않아, 새롭게 응답을 보낼 필요 X

 

400 Bad Request : 요청을 이해할 수 없음 (잘못된 문법이나 클라이언트 쪽에서의 오류)

401 Unauthorized : 클라이언트의 인증이 필요함

403 Forbidden : 클라이언트가 요청한 자원에 대해서 권한이 없음

404 Not Found : 요청한 자료가 서버에 없음

 

500 Internal Server Error : 서버가 예상하지 못한 오류 발생 (포괄적)

502 Bad Gateway : 서버가 잘못된 프로토콜을 전달받아 통신이 안됨

503 Service Unavailable : 과부하나 수리로 인해서 서버가 요청을 수행할 수 없음

 

상태 코드 활용 예시

// Code snippet from "src/lib/error-handler.js"
return res.render("error.pug", {
errorCode: 500,
errorMsg: "Internal Server Error",
});
728x90
반응형