HTTP 404
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
HTTP 404는 웹 서버가 클라이언트의 요청에 해당하는 리소스를 찾을 수 없을 때 반환하는 HTTP 상태 코드이다. "404 Not Found"라는 메시지로 표시되며, 웹 페이지가 이동되었거나 삭제되었을 때 발생할 수 있다. 404 오류는 웹에서 가장 흔하게 나타나는 오류 중 하나이며, 웹사이트 관리자는 404 오류를 추적하여 사용자 경험을 개선하고 끊어진 링크를 수정할 수 있다. 일부 국가에서는 검열을 위해 의도적으로 404 오류를 사용하기도 하며, 마이크로소프트 IIS는 404 오류의 구체적인 원인을 나타내는 하위 상태 코드를 제공한다.
더 읽어볼만한 페이지
- HTTP 상태 코드 - HTTP 302
요청한 리소스가 일시적으로 다른 위치로 이동되었음을 나타내는 HTTP 응답 코드 302는 서버가 제공하는 `Location` 헤더의 URL로 클라이언트를 리디렉션시킨다. - HTTP 상태 코드 - HTTP 403
서버가 요청을 이해했으나 클라이언트에게 권한이 없어 발생하는 HTTP 403 오류는, 인증된 계정의 권한 부족, IP 제한, 서버 구성, 방화벽 차단 등으로 인해 발생하며, HTTP 401 오류와 구별된다. - 컴퓨터 오류 - 블루스크린
블루스크린은 윈도우 운영체제에서 발생하는 치명적인 오류로, 컴퓨터 작동을 멈추고 파란색 화면에 오류 메시지를 표시하며, 하드웨어 또는 소프트웨어 문제로 인해 발생하고, 시스템 복원, 안전 모드 부팅 등의 방법으로 대처한다. - 컴퓨터 오류 - 글리치
글리치는 예기치 않은 오작동이나 오류를 뜻하며, 전자 공학, 컴퓨터, 비디오 게임, 텔레비전 방송, 대중문화 등 다양한 분야에서 기능 실패, 오류, 그래픽 및 사운드 문제, 신호 오류 등의 이상 현상을 포괄적으로 지칭하는 용어이다.
| HTTP 404 | |
|---|---|
| HTTP 상태 코드 | |
| 종류 | HTTP 상태 코드 |
| 상태 코드 | 404 |
| 설명 | 찾을 수 없음 (Not Found) |
| 일반 정보 | |
| 의미 | 요청한 리소스를 찾을 수 없음 |
| 요청 방법 | HTTP |
| 표준 | RFC 7231 |
| 상세 설명 | |
| 발생 원인 | 서버가 요청받은 리소스를 찾을 수 없는 경우 서버가 요청을 거부하고 이유를 숨기려는 경우 |
| 일반적인 원인 | URL 오타 존재하지 않는 리소스에 대한 링크 서버 설정 오류 삭제된 파일 또는 리소스 |
| 영향 | 웹 페이지를 표시할 수 없음 사용자 경험 저하 검색 엔진 최적화 (SEO)에 부정적인 영향 |
| 대응 방법 | URL을 다시 확인 웹사이트 관리자에게 문의 검색 엔진에 삭제된 페이지 알림 맞춤 404 페이지 제공 |
| 사용자 정의 페이지 | 웹사이트에서 404 오류 발생 시 사용자에게 맞춤 정보를 제공하는 페이지 |
| 서버 응답 | 서버는 404 상태 코드와 함께 오류에 대한 짧은 설명을 반환함 |
| 기타 | 404 오류는 클라이언트 측 오류로 간주됨 |
| 기술적 세부 사항 | |
| HTTP 버전 | HTTP/1.0 이상 |
| 상태 코드 클래스 | 4xx 클라이언트 오류 |
| 적용 대상 | HTTP 요청 |
2. 역사
HTTP의 창시자 팀 버너스리는 1998년 인터뷰에서 "404 Not Found" 오류 메시지를 "약간 사과하는 듯한" 느낌으로 만들고 싶었으며, "400 Bad Request"는 너무 모호하고 기술적이라고 판단했다고 밝혔다.[2]
1993년 NCSA 웹사이트에서 모자이크 웹 브라우저 관련 페이지가 다른 위치로 옮겨졌으나 링크가 업데이트되지 않아 최초의 404 오류가 기록되었다. 사용자의 보고로 NCSA 팀은 링크를 수정하고 404 페이지에 유머러스한 메시지를 추가했다.[3]
HTTP 수준에서 404 응답 코드는 "찾을 수 없습니다"라는 설명과 함께 나타난다.[35]
2. 1. 404 오류의 유래에 대한 도시 전설
유럽 입자 물리 연구소(CERN)에서 WWW가 발명되었는데, 이 숫자가 CERN의 404호실에서 유래했다는 도시 전설이 있지만, 실제로는 CERN에 404호실은 존재하지 않는다.[1]3. 404 오류의 원인과 해결 방법
HTTP를 통해 통신할 때 서버는 웹 브라우저의 요청에 대해 숫자 응답 코드와 메시지로 응답한다. 404 코드의 첫 숫자 4는 URL 오타와 같은 클라이언트 오류를, 뒤따르는 두 숫자는 특정 오류를 나타낸다. 이러한 세 자리 코드는 FTP, NNTP 등 초기 프로토콜의 코드와 유사하다.[35]
404 응답 코드는 "찾을 수 없습니다"라는 설명과 함께 나오며,[1] 대부분의 웹 서버는 기본적으로 404 코드와 이 설명이 포함된 HTML 메시지를 제공한다. 웹 서버는 더 자연스러운 설명, 브랜드 페이지, 검색 폼 등을 표시하도록 구성할 수 있다.
인터넷 익스플로러(인터넷 익스플로러 7 이전)는 512바이트 미만일 경우 사용자 지정 페이지 대신 친근한 오류 메시지를 표시한다. 구글 크롬도 비슷한 기능을 포함하여, 404 페이지가 512바이트 미만이면 구글 알고리즘이 생성한 대안을 제시한다.
3. 1. 클라이언트 측 오류
404 코드에서 처음 4는 URL을 잘못 입력하는 것과 같은 클라이언트 오류를 가리킨다.[35] HTTP 수준에서 404 응답 코드는 사람이 읽을 수 있는 "찾을 수 없습니다"라는 설명과 함께 나온다.[1]404 오류는 페이지가 이동되거나 삭제되었을 때 자주 반환된다. 전자의 경우 URL을 다시 기록하거나 대부분의 서버 구성 파일에서 구성할 수 있는 301 "영구적으로 이동하였음" 오류 응답을 반환하는 것이 좋다. 후자의 경우 410 "사라짐" 메시지가 반환되지만, 이 두 가지 옵션은 특별한 서버 구성을 요구하기 때문에 대부분의 웹사이트들은 이들을 이용하지 않는다.[35]
404 오류는 주어진 URL이 존재하지 않는 서버 이름을 가리킬 때 나타나는 DNS 오류와 혼동해서는 안 된다. 404 오류는 서버 자체가 존재하지만 서버가 응답한 페이지를 찾지 못했음을 나타낸다.[35]
3. 2. 서버 측 오류
404 오류는 서버 자체는 찾았지만 서버가 요청된 페이지를 찾지 못했음을 나타낸다.[1] 404 오류가 발생할 경우 사이트 관리자는 IIS에서 바인딩 편집에서 DNS에 등록된 도메인을 추가해 주면 해결이 가능하다.페이지가 이동되거나 삭제되었을 때 404 오류가 자주 반환된다. 전자의 경우 URL을 다시 기록하거나 대부분의 서버 구성 파일에서 구성할 수 있는 301 "영구적으로 이동하였음" 오류 응답을 반환한다. 후자의 경우 410 "사라짐" 메시지가 반환된다. 이 두 가지 옵션들은 특별한 서버 구성을 요구하기 때문에 대부분의 웹사이트들은 이들을 이용하지 않는다.
404 오류는 주어진 URL이 존재하지 않는 서버 이름을 가리킬 때 나타나는 DNS 오류와 혼동해서는 안 된다.
4. 소프트 404 오류
일부 웹사이트는 "찾을 수 없음" 오류를 보고하면서도 "200 OK" 응답 코드를 반환하여, 페이지가 제대로 로드된 것처럼 잘못 보고한다. 이를 '''소프트 404'''라고 한다. "소프트 404"라는 용어는 2004년 지브 바-요세프(Ziv Bar-Yossef) 외 여러 명에 의해 처음 사용되었다.[11]
소프트 404는 링크가 끊어졌는지 확인하는 자동화된 방식에 문제를 일으킨다. 야후 및 구글과 같은 일부 검색 엔진은 소프트 404를 감지하기 위해 자동화된 프로세스를 사용한다.[12]
소프트 404는 특정 HTTP 서버 소프트웨어, 예를 들어 아파치 소프트웨어를 사용할 때 구성 오류로 인해 발생할 수 있다. 예를 들어, .htaccess 파일에 지정된 오류 문서 404가 상대 경로(/error.html)가 아닌 절대 경로(예: http://example.com/error.html)로 지정된 경우이다.[13] 이는 일부 브라우저(예: 인터넷 익스플로러)가 브라우저별 "친숙한" 오류 메시지로 대체하는 대신 사용자 지정 404 오류 메시지를 표시하도록 의도적으로 수행할 수도 있다(인터넷 익스플로러에서는 404가 제공되고 수신된 HTML이 특정 길이보다 짧을 때 이 동작이 트리거되며 사용자가 수동으로 비활성화할 수 있다).
또한 콘텐츠가 상태 200으로 반환되지만 누락된 페이지가 도메인 루트/홈페이지로 리디렉션되는 경우와 같이 리디렉션된 페이지에서 반환되는 "소프트 3XX" 오류도 있다.
5. 프록시 서버와 404 오류
일부 프록시 서버는 500번대 오류 코드가 더 정확할 때 404 오류를 생성한다. 프록시 서버가 원격 호스트의 문제(예: 호스트 이름 확인 실패 또는 TCP 연결 거부)로 인해 페이지 요청을 충족할 수 없는 경우, 이를 5xx 내부 서버 오류로 설명해야 하지만, 대신 404 오류를 전달할 수 있다. 이는 특정 응답을 예상하고 이에 따라 작동하는 프로그램에게 혼란을 줄 수 있는데, 더 이상 웹 서버 부재와 웹 서버에 없는 웹 페이지를 쉽게 구별할 수 없기 때문이다.[35]
6. 의도적인 404 오류
2004년 7월, 영국의 통신 제공업체 BT 그룹은 클린피드 콘텐츠 차단 시스템을 도입했는데, 이 시스템은 인터넷 감시 재단에 의해 잠재적으로 불법으로 식별된 콘텐츠에 대한 모든 요청에 404 오류를 반환한다.[14] 다른 ISP는 동일한 상황에서 HTTP 403 "금지됨" 오류를 반환한다.[15] 가짜 404 오류를 검열을 숨기는 수단으로 사용하는 관행은 태국[16]과 튀니지[17]에서도 보고되었다. 튀니지에서는 2011년 혁명 이전의 검열이 심했는데, 사람들은 가짜 404 오류의 본질을 알게 되었고 "보이지 않는 검열관"을 나타내는 "Ammar 404"라는 가상의 인물을 만들었다.[18]
7. 마이크로소프트 IIS의 404 하위 상태 코드
마이크로소프트에서 개발한 웹 서버 소프트웨어인 마이크로소프트 IIS는 404 응답과 함께 일련의 하위 상태 코드를 반환한다. 하위 상태 코드는 404 상태 코드에 추가된 십진수 형태로 나타나며, 404 오류의 보다 구체적인 원인을 나타낸다. 이 하위 상태 코드는 인터넷 할당 번호 관리 기관(IANA)에서 공식적으로 인정하지 않으며, 마이크로소프트 서버가 아닌 다른 서버에서는 반환되지 않는다.[35]
마이크로소프트의 IIS 7.0, IIS 7.5, IIS 8.0 서버는 다음과 같은 HTTP 하위 상태 코드를 정의한다.
| 코드 | 설명 |
|---|---|
| 404.0 | 찾을 수 없음. |
| 404.1 | 사이트를 찾을 수 없음. |
| 404.2 | ISAPI 또는 CGI(Common Gateway Interface) 제한. |
| 404.3 | MIME 유형 제한. |
| 404.4 | 구성된 처리기가 없음. |
| 404.5 | 요청 필터링 구성에 의해 거부됨. |
| 404.6 | 동사 거부됨. |
| 404.7 | 파일 확장자 거부됨. |
| 404.8 | 숨겨진 네임스페이스. |
| 404.9 | 파일 속성 숨김. |
| 404.10 | 요청 헤더가 너무 김. |
| 404.11 | 요청에 이중 이스케이프 시퀀스가 포함됨. |
| 404.12 | 요청에 상위 비트 문자가 포함됨. |
| 404.13 | 콘텐츠 길이가 너무 큼. |
| 404.14 | 요청 URL이 너무 김. |
| 404.15 | 쿼리 문자열이 너무 김. |
| 404.16 | DAV 요청이 정적 파일 처리기로 전송됨. |
| 404.17 | 와일드카드 MIME 매핑을 통해 정적 파일 처리기에 매핑된 동적 콘텐츠. |
| 404.18 | 쿼리 문자열 시퀀스가 거부됨. |
| 404.19 | 필터링 규칙에 의해 거부됨. |
| 404.20 | URL 세그먼트가 너무 많음. |
8. 맞춤형 404 오류 페이지
많은 웹사이트들은 사용자 경험을 개선하고 브랜드 이미지를 높이기 위해 맞춤형 404 오류 페이지를 제공한다. 이러한 맞춤형 페이지는 디자인, 메시지, 검색 기능 등을 포함할 수 있다. 웹 서버는 일반적으로 더 자연스러운 설명, 상위 사이트의 브랜딩, 때로는 사이트 맵, 검색 양식 또는 404 페이지 위젯을 포함하여 맞춤형 404 오류 페이지를 표시하도록 구성할 수 있다.[19]
예를 들어, 구글의 404 페이지는 고장난 로봇과 홈페이지 링크를 제공하며,[4] 깃허브의 404 페이지는 시차 별장(parallax star field)의 무작위 이미지와 상태 페이지에 대한 링크를 보여준다.[5] 레고의 404 페이지는 레고 미니피겨 에밋과 유머러스한 메시지를 보여주고,[6] 아마존은 개의 이미지를 표시하며,[7] 푸조는 404 모델의 사진을 보여준다.[8] 이처럼 일부 웹사이트는 404 페이지를 사용하여 브랜드 개성, 유머 또는 사회적 대의를 보여주기도 한다.
인터넷 익스플로러(인터넷 익스플로러 7 이전)는 512 바이트가 넘지 않을 경우 사용자가 지정한 페이지를 보여 주지 않고 친근한 오류 메시지를 보여 준다.[36] 구글 크롬은 비슷한 기능을 포함하고 있으며 404는 페이지 크기가 512바이트 미만인 경우 구글 알고리즘이 생성하는 대안이 되는 제안 기능으로 대체된다.[20]
많은 조직은 404 오류 페이지를 웹사이트에 유머를 더하는 기회로 활용한다. 예를 들어, Metro UK는 스케이트보드를 타는 북극곰을 보여주고, 웹 개발 에이전시인 Left Logic은 간단한 그림 프로그램을 제공한다.[23] 2015년 영국 총선거 캠페인 기간 동안 주요 정당들은 모두 404 페이지를 사용하여 정치적 반대자를 겨냥하거나 잠재적 지지자에게 관련 정책을 보여주었다.[24]
8. 1. 실종 아동 찾기 캠페인
유럽에서는 실종 아동 유럽 및 아동 보호 센터를 포함한 여러 유럽 조직들이 만든 NotFound 프로젝트를 통해, 사이트 운영자에게 맞춤형 404 오류 페이지를 제공하는 코드 조각을 추가하도록 권장한다.[25] 이 페이지에는 실종 아동에 대한 정보가 제공된다.[26]9. 404 오류 추적
웹사이트 관리자는 404 오류를 추적하여 사용자 경험을 개선하고, 끊어진 링크를 수정할 수 있다. 404 오류 추적 도구는 다음과 같다.
| 도구 | 설명 |
|---|---|
| 구글 서치 콘솔 | 404 오류를 발견하는 가장 효과적인 방법 중 하나이다.[30] |
| 구글 애널리틱스 | 404 오류를 발견하는 가장 효과적인 방법 중 하나이다.[30] |
| 로그 파일 분석 | 404 페이지로의 트래픽을 추적하여 사용자가 어떤 404 오류에 도달했는지 자세히 이해할 수 있다.[30] |
| 자바스크립트 기반 트래픽 추적 도구 | 404 페이지로의 트래픽을 추적하는 또 다른 방법이다.[31] |
| 크롤링 소프트웨어 | 404 오류를 발견하는 가장 효과적인 방법 중 하나이다.[30] |
웹사이트에서 404 상태 코드를 반환하는 페이지를 찾기 위해 웹사이트를 크롤링하는 여러 도구가 존재한다. 이러한 도구는 특정 웹사이트 내에 존재하는 링크를 찾는 데 유용하지만, 다른 웹사이트의 링크로 인해 발생하는 404 오류는 무시한다는 한계가 있다. 그 결과, 이러한 도구는 웹사이트의 404 오류 중 83%를 놓친다.[28] 이를 해결하는 한 가지 방법은 외부 링크를 분석하여 404 오류를 찾는 것이다.[29]
10. 인터넷 익스플로러의 404 오류 처리
인터넷 익스플로러 (인터넷 익스플로러 7 이전)는 512바이트 미만의 404 페이지를 표시하지 않고 "친근한" 오류 메시지를 보여준다.[36] 사용자는 인터넷 옵션의 도구에서 고급 탭의 "친근한 HTTP 오류 메시지 표시" 설정을 해제하여 이 기능을 변경할 수 있다.
참조
[1]
간행물
HTTP/1.1 Semantics and Content
Internet Engineering Task Force (IETF)
2018-12-13
[2]
웹사이트
What is a 404 error and what should I do if I get one? » Internet » Windows » Tech Ease
https://etc.usf.edu/[...]
2023-05-19
[3]
웹사이트
"((404 page design: best practices and awesome examples))"
https://www.justinmi[...]
2023-05-19
[4]
웹사이트
Google 404 Error Page
http://google.com/40[...]
[5]
웹사이트
Github 404 Error Page
https://github.com/4[...]
[6]
웹사이트
LEGO 404 Error Page
https://www.lego.com[...]
[7]
웹사이트
Amazon's 404 error page
https://www.amazon.c[...]
[8]
웹사이트
Peugeot's 404 error page
https://www.peugeot.[...]
[9]
웹사이트
RTE's 404 Keeps Bosco Alive
https://michele.blog[...]
2022-12-21
[10]
웹사이트
RTÉ's 404 error page
https://www.rte.ie/4[...]
2022-12-21
[11]
서적
Proceedings of the 13th international conference on World Wide Web
2004
[12]
웹사이트
Why is your crawler asking for strange URLs that have never existed on my site?
http://help.yahoo.co[...]
Yahoo Ysearch Help page
2013-09-04
[13]
웹사이트
Farewell to soft 404s
http://googlewebmast[...]
Google Official Blog
2008-09-20
[14]
웹사이트
LINX Public Affairs » Cleanfeed: the facts
https://publicaffair[...]
Publicaffairs.linx.net
2011-03-06
[15]
웹사이트
DEMON – Error 403
https://airbrake.io/[...]
2012-06-14
[16]
뉴스
The old fake '404 Not Found' routine - Dead link
http://www.bangkokpo[...]
2010-09-12
[17]
웹사이트
Tunisian journalist sues government agency for blocking Facebook, claims damage for the use of 404 error message instead of 403
http://opennet.net/n[...]
Open Net Initiative
2010-11-21
[18]
웹사이트
Anti-censorship movement in Tunisia: creativity, courage and hope!
http://advocacy.glob[...]
Global Voices Advocacy
2010-08-28
[19]
웹사이트
Friendly HTTP Error Pages
http://blogs.msdn.co[...]
msdn.com
2012-06-14
[20]
웹사이트
Issue 1695: Chrome needs option to turn off "Friendly 404" displays
https://bugs.chromiu[...]
2021-12-25
[21]
웹사이트
What is Favicon.ico and How to Create a Favicon Icon for Your Website
http://www.thesitewi[...]
2011-02-23
[22]
웹사이트
The Dastardly "favicon.ico not found" Error
http://internetfolks[...]
1999-08-03
[23]
뉴스
From skateboarding bears to missing children: The power of the 404 Not Found error page
http://metro.co.uk/2[...]
Metro
2013-04-16
[24]
웹사이트
The political Page 404 war
http://www.bbc.co.uk[...]
2018-05-18
[25]
웹사이트
Notfound.org
http://notfound.org/[...]
[26]
뉴스
Missing children messages go on 404 error pages
https://www.bbc.com/[...]
2014-09-20
[27]
웹사이트
Make your 404 pages more useful
http://googlewebmast[...]
Google, Inc
2009-08-28
[28]
웹사이트
Sources Leading To 404s
https://springtrax.c[...]
SpringTrax
2013-02-11
[29]
웹사이트
A Data-Centric Approach To Identifying 404 Pages Worth Saving
http://searchenginel[...]
Search Engine Land
2013-06-07
[30]
웹사이트
Tracking and Preventing 404 Errors
http://www.404errorp[...]
404errorpages.com
2013-06-07
[31]
웹사이트
Understand 404 Errors
https://springtrax.c[...]
SpringTrax.com
2013-06-07
[32]
웹사이트
404 RESFARCH LAR
http://www.plinko.ne[...]
2011-04-23
[33]
문서
[34]
웹사이트
Sic Transit Gloria Telae: Towards an Understanding of the Web’s Decay
http://www2004.org/p[...]
2004-05-22
[35]
웹인용
6.1.1 Status Code and Reason Phrase
http://www.w3.org/Pr[...]
2008-06-22
[36]
웹인용
Friendly HTTP Error Pages
http://blogs.msdn.co[...]
msdn.com
2010-08-18
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com