내용

    서버 응답 404 Not Found

    HTTP 상태 코드 404 (찾을 수 없음)

    HTTP 상태 코드 404는 요청한 리소스를 서버에서 찾을 수 없음을 나타내는 가장 잘 알려진 오류 코드 중 하나입니다. 이 오류는 잘못된 URL 입력, 페이지 이동 또는 삭제로 인해 발생하는 경우가 많습니다. 본 문서에서는 404 오류 발생 원인, 실용적인 예제 및 다양한 프로그래밍 언어에서 오류를 수정하는 방법을 자세히 살펴보겠습니다.

    404 - Not Found

    404 상태 코드 발생 원인

    • 잘못된 URL
    • 리소스의 삭제 또는 이동
    • 페이지 내 링크 오류
    • 서버 설정 문제

    상태 코드 404의 실용적인 예

    404 오류 페이지는 사용자 경험에 큰 영향을 미칠 수 있으며, 이를 통해 사용자는 사이트와의 상호작용에서 혼란을 느낄 수 있습니다. 다음은 유명한 웹사이트에서의 '찾을 수 없음' 페이지 예제입니다:

    웹사이트 404 페이지 예시
    Google 단순한 텍스트와 검색창 제공
    Wikipedia 상세한 안내와 관련 링크 제공

    404 오류 페이지를 사용자 친화적으로 만들기 위해 커스터마이즈된 404 페이지를 설정하는 것이 좋습니다. 이러한 페이지는 사용자에게 사이트 내에서 다른 유용한 리소스를 탐색할 수 있는 옵션을 제공할 수 있습니다.

    다양한 프로그래밍 언어에서 404 오류 수정

    1. JavaScript (Node.js)
      app.use((req, res, next) => {
        res.status(404).send('페이지를 찾을 수 없습니다');
      });
              
    2. Python (Flask)
      @app.errorhandler(404)
      def not_found(error):
          return '페이지를 찾을 수 없습니다', 404
              
    3. PHP
      http_response_code(404);
      echo '페이지를 찾을 수 없습니다';
              

    404 오류 처리 개선을 위한 권장 사항

    • 사이트의 다른 부분으로의 네비게이션이 포함된 사용자 정의 404 페이지 설정
    • 404 오류 발생 빈도를 추적하기 위한 분석 도구 사용
    • 링크 및 리소스의 유효성을 정기적으로 점검

    추가 코드

    코드설명
    404.0찾을 수 없음 - 요청한 파일이 이동되었거나 존재하지 않음.
    404.1사이트를 찾을 수 없음 - 요청한 웹사이트 찾을 수 없습니다.
    404.2ISAPI 또는 CGI 제한 - 요청된 ISAPI 또는 CGI 리소스가 제한되어 있습니다.
    404.3MIME 유형 제한 - 요청된 파일 확장자에 대한 MIME 매핑이 잘못되었거나 없습니다.
    404.4처리기가 ​​구성되지 않았습니다. 파일 확장자에 연결된 처리기가 구성되지 않았습니다.
    404.5요청 필터링 구성에 의해 거부되었습니다. 요청된 URL에 차단된 문자 시퀀스가 ​​포함되어 있습니다.
    404.6동사 거부됨 - 요청에서 사용된 HTTP 동사가 허용되지 않습니다.
    404.7파일 확장자가 거부됨 - 요청된 파일 확장자가 허용되지 않습니다.
    404.8숨겨진 네임스페이스 - 요청된 디렉토리가 목록에서 숨겨졌습니다.
    404.9파일 속성 숨김 - 요청된 파일이 숨겨졌습니다.
    404.10요청 헤더가 너무 깁니다. 요청이 거부됨, 긴 헤더 때문입니다.
    404.11요청에 이중 이스케이프 시퀀스가 ​​포함되어 있습니다. 요청에 잘못된 이중 이스케이프 시퀀스가 ​​포함되어 있습니다.
    404.12요청에 상위 비트 문자가 포함되어 있습니다. 상위 비트 문자는 요청에 허용되지 않습니다.
    404.13콘텐츠 길이가 너무 깁니다. 요청이 허용되는 콘텐츠 길이를 초과합니다.
    404.14요청 URL이 너무 깁니다. 요청된 URL이 허용되는 길이를 초과합니다.
    404.15쿼리 문자열이 너무 깁니다. 요청의 쿼리 문자열이 허용되는 길이를 초과합니다.
    404.16WebDAV 요청이 정적 파일 처리기로 전송되었습니다. WebDAV 요청이 정적 파일 처리기로 전송되었습니다.
    404.17동적 콘텐츠가 정적 파일 처리기에 매핑되었습니다. 동적 콘텐츠가 정적 파일 처리기에 잘못 매핑되었습니다.
    404.18쿼리 문자열 시퀀스가 ​​거부되었습니다. 쿼리 문자열 금지된 시퀀스가 ​​포함되어 있습니다.
    404.19필터링 규칙에 의해 거부됨 - 요청이 필터링 규칙에 의해 차단되었습니다.
    404.20URL 세그먼트가 너무 많음 - 요청된 URL에 세그먼트가 너무 많습니다.
    404.501찾을 수 없음: 동시 요청 속도 제한에 도달함 - 동일한 IP에서 동시 요청이 너무 많습니다.
    404.502찾을 수 없음: 최대 요청 속도 제한에 도달함 - 이 IP에 대한 최대 요청 속도에 도달했습니다.
    404.503찾을 수 없음: IP 주소가 거부됨 - IP 주소에 대한 액세스가 거부되었습니다.
    404.504찾을 수 없음: 호스트 이름이 거부됨 - 호스트 이름이 거부 목록에 있습니다.