본문 바로가기

Jsp

(web) HTTP Error Code 정리(404, 500 등등)

 

HTTP 에러 코드에 대해 정리해보려고 합니다.!

우선 정의는 아래와 같습니다.!

 

 

HTTP 에러 코드
HyperText Transfer Protocol (HTTP)를 통해 통신하는 웹 서버와 클라이언트 간의 통신 중에 발생하는 문제를 나타내는 코드입니다. 이러한 코드는 서버가 클라이언트에게 전달하는 메시지로, 요청이 성공적으로 처리되지 못했음을 나타내며, 그 원인을 설명합니다. 일반적으로 3자리 숫자로 표시되며, 각각의 숫자 범위는 특정 유형의 문제를 나타냅니다.

 

 


자주 보는 에러 코드

먼저 정리하겠습니다.

에러 코드(Error Code) 설명 예시
404
(Not Found)
가장 잘 알려진 HTTP 
에러 중 하나로
 클라이언트가 요청한 리소스를 서버에서 찾을 수 없음을 나타냅니다.
사용자가 브라우저에서 잘못된 URL을 입력하거나,
 웹 페이지가 이동되었거나 삭제되어 더 이상 존재하지 않는 경우
500
(Internal Server Error)
서버 측에서 발생한 일반적인 오류로, 요청을 처리하는 동안에 서버 내부에서 문제가 발생했음을 나타냅니다. 웹 애플리케이션의 코드에 버그가 있거나, 데이터베이스 연결이 실패한 경우와 같이 서버에서 처리되지 않은 예외가 발생하는 경우
403 
(Forbidden)
클라이언트가 요청한 리소스에 접근할 권한이 없음을 나타냅니다. 사용자가 로그인하지 않은 상태에서 보호된 웹 페이지에 접근하려고 시도한 경우,
또는 서버가 요청된 동작을 수행할 권한을 가지고 있지 않은 경우
401
(Unauthorized)
클라이언트가 요청한 리소스에 접근하기 위해 인증이 필요함을 나타냅니다. 보호된 웹 페이지에 접근하려고 할 때,
 사용자가 올바른 인증 자격 증명을 제공하지 않은 경우
503
(Service Unavailable)
서버가 현재 요청을 처리할 수 없음을 나타냅니다. 
일시적인 서비스 중단이나 과부하로 인한 경우가 있습니다.
대규모 트래픽이 몰려서 서버가 요청을 처리할 수 없는 경우,
 또는 서버가 유지보수 중일 때

 

여기까지 사용자가 자주 마주치게 되는 HTTP 에러 코드를 정리했습니다.


아래 내용은 좀 더 다양한 HTTP 에러 코드를 정리했습니다.

에러 코드(Error Code) 설명 예시
400
(Bad Request)
클라이언트의 요청이 서버에서 이해할 수 없는 경우를 나타냅니다. 

요청이 유효하지 않거나 부적절한 경우에 발생합니다.
클라이언트가 잘못된 요청을 보내거나,
 필요한 매개변수가 누락된 경우
405
(Method Not Allowed)
클라이언트가 요청한 HTTP 메서드가 리소스에서 허용되지 않음을 나타냅니다. 클라이언트가 GET 요청을 통해 수정을 시도한 경우,
또는 
POST 요청을 통해 읽기를 시도한 경우
504
(Gateway Timeout)
게이트웨이 또는 프록시 서버가 백엔드 서버에서 응답을 받지 못한 경우를 나타냅니다. 프록시 서버가 백엔드 서버로부터 응답을 받을 때
시간이 초과된 경우
413 
(Payload Too Large)
클라이언트가 요청 페이로드가 서버가 처리할 수 있는 최대 크기를 초과했음을 나타냅니다. 파일 업로드나 긴 데이터 전송 요청 시에, 
요청된 데이터가 서버의 허용된 크기를 초과한 경우
406
(Not Acceptable)
클라이언트가 요청한 리소스에 대해 웹 서버가 제공할 수 있는 표현을 클라이언트가 허용하지 않음을 나타냅니다.
 
일반적으로 요청한 리소스의 표현이 클라이언트의 Accept 헤더와 호환되지 않을 때 발생합니다.
사용자가 웹 페이지에 JSON 형식으로만 응답을 요청했지만, 서버가 해당 리소스에 대해 JSON을 제공할 수 없는 경우

이 경우 클라이언트가 서버에게 "Accept: application/json" 헤더를 포함한 요청을 보내면,
서버는 해당 표현을 제공할 수 없으므로 406 에러를 반환
407
(Proxy Authentication
Required
)
클라이언트가 프록시 서버를 통해 요청을 보내는 경우, 
프록시 서버가 클라이언트의 인증을 요구함을 나타냅니다. 
클라이언트는 프록시 서버에게 인증 자격 증명을 제공해야 요청을 계속할 수 있습니다.
사용자가 회사 네트워크 내에서 인터넷에 액세스하기 위해 
프록시 서버를 사용하는 경우,
 사용자가 인터넷 브라우저를 통해 웹 페이지에 액세스하고
시도하면 프록시 서버가 사용자의 인증을 요청 가능

 이때 사용자는 프록시 서버에게 제공된 사용자 이름과
 암호를 사용하여 인증해야 합니다.
 인증이 실패하면 407 에러가 발생
408
(Request Timeout)
클라이언트가 
서버로의 요청을 보냈지만,
 서버가 일정 시간 내에 
요청을 처리하지 못했음을 
나타냅니다.

 서버가 요청을 처리 하는데
걸리는 시간이 클라이언트나 서버의 설정된 제한 시간을 초과한 경우 발생합니다.
사용자가 웹 페이지를 요청했지만,
 서버의 응답 시간이 너무 길어서 클라이언트가 설정된 시간 내에 응답을 받지 못한 경우 발생

 이러한 경우에는 사용자의 브라우저가 일정 시간 동안 응답을 기다렸다가 요청 시간이 초과되면 408 에러를 표시
409
(Conflict)
클라이언트의 요청이 서버의 현재 상태와 충돌이 발생했음을 나타냅니다. 

즉, 요청이 서버의 리소스 상태와 충돌되는 조작을 시도했음을 의미합니다.
두 클라이언트가 동시에 동일한 리소스에 대해 
변경을 시도하는 경우 충돌이 발생할 수 있습니다.

 예를 들어, 두 클라이언트가 
동시에 같은 문서를 수정하려고 시도하면,
 첫 번째 클라이언트가 변경한 내용과 
두 번째 클라이언트가 변경한 내용이
 충돌하여 서버는 이를 해결할 수 없는 상태
이런 경우에 서버는 409 에러를 반환

 


아래는 이후 정리할 예정입니다..

너무 많아서 간략하게만 적었습니다!

에러 코드(Error Code) 설명 예시
401.1 로그온 실패했을 때 ``
403.1 실행 액세스가 금지됐을 때 ``
403.2 읽기 엑세스가 금지됬을 때 ``
403.3 쓰기 금지 됐을 때 ``
403.6 아이피가 거부 됐을 때 ``
403.7 클라이언트 인증서가 필요할 때 ``
403.8 사이트 액세스가 거부 됐을 때 ``
403.9 사용자가 너무 많을 때 ``
403.16 클라이언트 인증서가 신뢰되지 않거나 잘못되었을 때 ``
404.1 사이트를 찾을 수 없을 때 ``
414 요청한 URI 너무 길 때 ``
501  구현되지 않았을 때 ``
502 게이트웨이 상태가 좋지 않을 때 ``
505 해당 HTTP 버전 지원 불가할 때 ``

 

 

@ / @

HTTP 에러 코드는...

하나하나 제대로 정리하려면 몇 년 걸릴꺼같다...