HTTP 500 내부 서버 오류

500px
500px

보통 둘 중 하나의 화면을 토해내면서 원하는 문서로 넘어가지 않는 현상.
# 유튜브에도 있다.
파일:Attachment/Http 500.png [1]

사이트 자체의 에러로 원인은 다음과 같다.[2]

  1. 서버 사용량의 폭주로 인해 서비스가 일시적으로 중단된것 / 또는 서버의 이상에 의한 문제.[3]
  2. 서버 스크립트의 오류. [4]

해당 홈페이지의 서버에 관리에 문제가 있어 생긴 것이니 개개인의 컴퓨터엔 문제가 없는것으로 등장하는 500에러는 본진 서버의 이상이라고 보는 편이 옳다. 서버 데몬 에드온중에 이런 게 있는데, 사용자 컴퓨터는 500에러 발생시 Retry-After 를 받으면 또 시도하기때문에 아예 이 코드를 빼고 너는 보내라 나는 씹는다 라고 해주는 데몬이 있다.

다만 위의 1, 2번 구분은 그다지 의미가 없다. 어쨌든 웹서버가 500에러라도 보내줬다는것은 웹서버 자체의 가용량은 남았는데 DB등 다른시스템이 초과된 경우이므로 결국은 서버 스프립트상에서 DB접속에 실패한 오류가 난 것일 확률이 매우 높은데, 이 경우 1번과 2번 모두에 해당한다(...) 이상적인 경우는 가용량을 넘어 폭주하는 경우 DB가 접속 가능한 지 미리 확인하는 코드를 추가하거나 접속초과 오류만 특별히 컨트롤 해서 오류페이지 대신 '접속량 초과' 같은 메시지를 보내주는게 옳다. 결국 1번이건 2번이건 오류메시지는 사용자에게 보여주지 않는것이 가장 이상적인 상황...... 이지만 현실적으로는 어렵다.언제나 말은 쉽다 다만 개발자가 신이 아닌이상 실수는 할 수 있지만 저런 오류가 사용자에게 노출되지 않도록 최대한 노력해야하는것은 맞다. 별로 중요한 정보는 아닐지라도 서버의 정보가 사용자에게 노출되는것은 결코 좋은 일은 아니다. 예를들어 두번째 그림에 있는 오류를 보면 오류가 발생한 코드의 클래스이름, 함수이름 등등이 다 노출되고 있다. 이를 미루어 어떤 라이브러리가 사용되었는지부터 언어가 java라는것, 서버가 tomcat이라는것까지 전부 노출되고 있는데 그 말은 이미 알려진 해당 라이브러리, 언어, 웹서버의 보안 취약점을 다른것보다 먼저 시도해 볼 수도 있다는 의미다.

나무위키에서는 외부 그림을 프록시로 불러오는 경우 원격지 서버가 응답 시간을 초과한 경우 "원격지 서버가 응답 시간을 초과했습니다."라는 메시지가 나눔고딕으로, 300×200의 image/png로 나타난다.
  1. 다X 결제창에서까지 뜬다. 결제하다가 이 화면을 보는 순간 멘붕
  2. HTTP 코드 앞자리 2는 정상 접속을, 3은 페이지가 이동했음을, 4는 브라우저의 문제를, 5는 서버 오류를 뜻한다, 다만 500외에 사용자가 많이 보게되는 404는 그런 페이지는 없다란 의미 이므로 사용자가 없는걸 요청했을수도 있고, 서버에 있던게 없어져버린 경우일 수도 있는데도 4로 시작한다. 즉 4인지 5인지 애매한 상황이지만 일단 사용자 탓을 해버리는 경우(...)
  3. 이 경우에는 다른 오류 코드가 나온다. 대개 서버 접속량이 설정치를 넘었다거나, 아니면 NGINX 의 경우 10K 경과시 경고문구라든지 혹은 진짜 하드웨어 부하가 많이 걸릴 경우 과부하라고 출력된다.
  4. 이 경우에 대부분 500 에러가 나온다.