etc

[IT] 에러코드 설명 (404, 502, HTTP 응답 코드)

15호의 개발자 2022. 1. 22. 22:34
반응형

[IT] 에러코드 설명 (404, 502, HTTP 응답 코드)

 

 

간단 요약

100 단위: 조건부 응답
200 단위: 성공
300 단위: 리다이렉션 완료 (요청 성공을 이해 추가 조치 필요)
400 단위: 요청 오류
500 단위: 서버 오류

 


 

HTTP의 응답 코드 중 자주 보이는 코드만 설명하겠다. 나머지 자세한 설명은 위키백과를 참고하면 좋다.

 

 

200번대

200번대에 있는 HTTP 응답 코드는 작업이 성공했다는 의미이다.

자주 보이는 코드인 200, 201, 204, 206만 설명하겠다. 나머지는 거의 볼 일이 없을 것이다.

  • 200 OK
    : 작업이 성공적으로 처리됐다는 의미이다. 가장 흔히 보이는 HTTP 상태이다.
    : 기존에 있는 URI에 대한 요청이 성공했다는 의미이며, 주로 GET 메서드가 사용된다.
  • 201 Create
    : 신규 URI에 대한 리소스 생성이 성공했다는 의미이며, 주로 POST 메서드가 사용된다.
  • 202 Accepted
    : 요청이 접수됐지만 처리되지는 않은 경우이다.
  • 204 No Content
    : 요청은 성공적으로 처리했으나 컨텐츠를 제공하지 않는 경우이다.
    : 일반 사용자가 볼 일은 거의 없으며, API 요청에서 처리 결과를 확인할 때 사용한다. 

 

300번대

300번대에 있는 HTTP 응답 코드는 리다이렉션이 필요하다는 의미이다.

단축 URL 서비스의 경우 접속시 301이나 302 코드를 보내고 헤더의 location에 리다이렉션할 실제 URL을 적어 보낸다.

  • 301 Moved Permanently (영구 이동)
    : 영구적으로 콘텐츠가 이동했을 때 사용된다.
  • 302 Found
    : 일시적으로 콘텐츠가 이동했을 때 사용된다.

 

400번대

400번대에 있는 HTTP 응답 코드는 클라이언트 오류로써, 요청이 올바르지 않다는 의미이다.

  • 400 Bad Request (잘못된 요청)
    : API에서 정의되지 않은 잘못된 문법을 사용해서 서버가 요청을 이해할 수 없음을 의미한다.
  • 401 Unauthorized (권한 없음)
    : 인증이 필요한 리소스에 인증 없이 접근했다는 의미이다.
    : 단순히 권한이 없는 경우는 403 Forbidden이 뜨고, 401 Unauthorized는 브라우저에 어느 인증 방식을 사용할지 보내지 않았을 때 뜬다.
  • 404 Forbidden (거부됨, 금지됨, 접근 금지)
    : 권한 밖의 접근을 시도할 때 서버가 요청을 거부했음을 의미한다.
    : 예를 들어, 관리자가 아닌 사용자가 관리자 페이지에 접속을 시도할 때 나오는 코드이다.
  • 404 Not Found (찾을 수 없음)Unauthorized 
    : 서버가 요청한 페이지(리소스, 데이터)는 찾지 못했다는 의미이며, 가장 흔하게 볼 수 있는 코드이다.
    : 서버에 존재하지 않는 페이지에 대한 요청이 있은 경우에 나오는 코드이다.
  • 408 Request Timeout (요청 시간 초과)
    : 요청 중 시간이 초과되었음을 의미한다.
  • 410 Gone (사라짐)
    : 404 Forbidden과는 달리 찾는 페이지(리소스, 데이터)가 영구적으로 사라진 경우를 의미한다.

 

500번대

500번대에 있는 HTTP 응답 코드는 서버 오류로써, 서버가 응답할 수 없다는 의미이고 요청이 올바른지 여부는 알 수 없다.

  • 500 Internal Server Error (내부 서버 에러)
    : 서버(또는 클라우드) 오류가 발생하여 요청한 작업을 수행할 수 없음을 의미한다.
    : 서버(또는 클라우드) 내부 로직(코드)에 문제가 있는 경우로, 설정이나 권한 문제이거나, HTTP 요청을 통해 호출한 문서가 실제 HTML 문서가 아니라 JSP, PHP, 서블릿 등의 프로그램일 경우 해당 프로그램이 동작하다 세미콜론을 빼먹는 등의 에러로 비정상 종료를 할 때 발생한다.
  • 502 Bad Gateway (게이트웨이 불량)
    : 게이트웨이가 연결된 서버(=웹 서버)로부터 잘못된 응답을 받았을 때 사용된다.
    : 서버가 게이트웨이나 프록시 역할을 하고 있거나 또는 업스트림 서버에서 잘못된 응답을 받았다는 의미이다.
  • 503 Service Temporarily Unavailable (일시적으로 서비스를 이용할 수 없음)
    : 서비스를 일시적으로 사용할 수 없을 때 사용된다.
    : 주로 웹서버 등이 과부하, 오버로드되었거나 유지관리를 위해 다운되었을 때 나타나는 코드이며, 일시적인 상태이다.
  • 504 Gateway Timeout (게이트웨이 시간 초과)
    : 게이트웨이가 연결된 서버로부터 응답을 받을 수 없었을 때 사용된다.
    : 웹페이지를 로드하거나 브라우저에서 다른 요청을 채우려는 동안 한 서버가 액세스하고 있는 다른 서버에서 응답받는 시간이 초과됐을 때 나타난다.

 

 

반응형