맨위로가기

HTTP 404

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의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.2ISAPI 또는 CGI(Common Gateway Interface) 제한.
404.3MIME 유형 제한.
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.16DAV 요청이 정적 파일 처리기로 전송됨.
404.17와일드카드 MIME 매핑을 통해 정적 파일 처리기에 매핑된 동적 콘텐츠.
404.18쿼리 문자열 시퀀스가 거부됨.
404.19필터링 규칙에 의해 거부됨.
404.20URL 세그먼트가 너무 많음.


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