서버 응답 404 Not Found
HTTP 상태 코드 404 (찾을 수 없음)
HTTP 상태 코드 404는 요청한 리소스를 서버에서 찾을 수 없음을 나타내는 가장 잘 알려진 오류 코드 중 하나입니다. 이 오류는 잘못된 URL 입력, 페이지 이동 또는 삭제로 인해 발생하는 경우가 많습니다. 본 문서에서는 404 오류 발생 원인, 실용적인 예제 및 다양한 프로그래밍 언어에서 오류를 수정하는 방법을 자세히 살펴보겠습니다.
404 상태 코드 발생 원인
- 잘못된 URL
- 리소스의 삭제 또는 이동
- 페이지 내 링크 오류
- 서버 설정 문제
상태 코드 404의 실용적인 예
404 오류 페이지는 사용자 경험에 큰 영향을 미칠 수 있으며, 이를 통해 사용자는 사이트와의 상호작용에서 혼란을 느낄 수 있습니다. 다음은 유명한 웹사이트에서의 '찾을 수 없음' 페이지 예제입니다:
웹사이트 | 404 페이지 예시 |
---|---|
단순한 텍스트와 검색창 제공 | |
Wikipedia | 상세한 안내와 관련 링크 제공 |
404 오류 페이지를 사용자 친화적으로 만들기 위해 커스터마이즈된 404 페이지를 설정하는 것이 좋습니다. 이러한 페이지는 사용자에게 사이트 내에서 다른 유용한 리소스를 탐색할 수 있는 옵션을 제공할 수 있습니다.
다양한 프로그래밍 언어에서 404 오류 수정
- JavaScript (Node.js)
app.use((req, res, next) => { res.status(404).send('페이지를 찾을 수 없습니다'); });
- Python (Flask)
@app.errorhandler(404) def not_found(error): return '페이지를 찾을 수 없습니다', 404
- PHP
http_response_code(404); echo '페이지를 찾을 수 없습니다';
404 오류 처리 개선을 위한 권장 사항
- 사이트의 다른 부분으로의 네비게이션이 포함된 사용자 정의 404 페이지 설정
- 404 오류 발생 빈도를 추적하기 위한 분석 도구 사용
- 링크 및 리소스의 유효성을 정기적으로 점검
추가 코드
코드 | 설명 |
---|---|
404.0 | 찾을 수 없음 - 요청한 파일이 이동되었거나 존재하지 않음. |
404.1 | 사이트를 찾을 수 없음 - 요청한 웹사이트 찾을 수 없습니다. |
404.2 | ISAPI 또는 CGI 제한 - 요청된 ISAPI 또는 CGI 리소스가 제한되어 있습니다. |
404.3 | MIME 유형 제한 - 요청된 파일 확장자에 대한 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.16 | WebDAV 요청이 정적 파일 처리기로 전송되었습니다. WebDAV 요청이 정적 파일 처리기로 전송되었습니다. |
404.17 | 동적 콘텐츠가 정적 파일 처리기에 매핑되었습니다. 동적 콘텐츠가 정적 파일 처리기에 잘못 매핑되었습니다. |
404.18 | 쿼리 문자열 시퀀스가 거부되었습니다. 쿼리 문자열 금지된 시퀀스가 포함되어 있습니다. |
404.19 | 필터링 규칙에 의해 거부됨 - 요청이 필터링 규칙에 의해 차단되었습니다. |
404.20 | URL 세그먼트가 너무 많음 - 요청된 URL에 세그먼트가 너무 많습니다. |
404.501 | 찾을 수 없음: 동시 요청 속도 제한에 도달함 - 동일한 IP에서 동시 요청이 너무 많습니다. |
404.502 | 찾을 수 없음: 최대 요청 속도 제한에 도달함 - 이 IP에 대한 최대 요청 속도에 도달했습니다. |
404.503 | 찾을 수 없음: IP 주소가 거부됨 - IP 주소에 대한 액세스가 거부되었습니다. |
404.504 | 찾을 수 없음: 호스트 이름이 거부됨 - 호스트 이름이 거부 목록에 있습니다. |