HTTP 404 (영어)
출처: Wikipedia, the free encyclopedia
"404 찾을 수 없음"이 여기로 리디렉션됩니다. TV 에피소드는 404 Not Found (Mr. Robot)를 참조하십시오.
HTTP요청 방법머리글 필드응답 상태 코드보안 접근 제어 방법보안 취약성
컴퓨터 네트워크 통신에서 HTTP 404, 404 찾을 수 없음, 404, 404 오류, 페이지를 찾을 수 없음 또는 파일을 찾을 수 없음 오류 메시지는 브라우저가 지정된 서버와 통신할 수 있음을 나타내는 HTTP(Hypertext Transfer Protocol) 표준 응답 코드입니다하지만 서버가 요청한 내용을 찾을 수 없습니다. 이 오류는 서버가 요청된 정보가 있는지 여부를 공개하지 않으려는 경우에도 사용할 수 있습니다. [1]
웹 사이트 호스팅 서버는 일반적으로 사용자가 끊어지거나 죽은 링크를 따라가려고 할 때 "404 찾을 수 없음" 웹 페이지를 생성합니다. 따라서 404 오류는 월드 와이드 웹에서 발생하는 가장 잘 알려진 오류 중 하나입니다.
영어 위키백과의 404 페이지개요
HTTP를 통해 통신할 때 서버는 웹 페이지에 대한 웹 브라우저 요청과 같은 요청에 숫자 응답 코드와 선택 사항, 필수 또는 허용되지 않음(상태 코드에 따라) 메시지를 사용하여 응답해야 합니다. 코드 404에서 첫 번째 숫자는 잘못 입력된 URL(Uniform Resource Locator)과 같은 클라이언트 오류를 나타냅니다. 다음 두 자리 숫자는 발생한 특정 오류를 나타냅니다. HTTP의 3자리 코드 사용은 FTP 및 NNTP와 같은 이전 프로토콜에서 이러한 코드를 사용하는 것과 유사합니다. HTTP 수준에서 404 응답 코드 뒤에는 사람이 읽을 수 있는 "이유 문구"가 옵니다. HTTP 사양은 "찾을 수 없음"[1]이라는 문구를 제안하고 많은 웹 서버는 기본적으로 404 코드와 "찾을 수 없음" 문구를 모두 포함하는 HTML 페이지를 발행합니다.
404 오류는 페이지가 이동되거나 삭제되었을 때 반환되는 경우가 많습니다. 첫 번째 경우에는 대부분의 서버 구성 파일에서 구성할 수 있는 301 Moved Permanently 응답을 반환하거나 URL 다시 쓰기를 통해 URL 매핑 또는 URL 리디렉션을 사용하는 것이 좋습니다. 두 번째 경우에는 410 Gone을 반환해야 합니다. 이 두 가지 옵션은 특별한 서버 구성이 필요하기 때문에 대부분의 웹 사이트에서는 이를 사용하지 않습니다.
404 오류는 지정된 URL이 존재하지 않는 서버 이름을 참조할 때 나타나는 DNS 오류와 혼동되어서는 안 됩니다. 404 오류는 서버 자체를 찾았지만 서버가 요청된 페이지를 검색할 수 없음을 나타냅니다.
역사
404 오류 코드의 기원은 월드 와이드 웹 초기로 거슬러 올라갑니다. 1992년, 웹의 발명가인 팀 버너스 리(Tim Berners-Lee)와 유럽핵연구기구(European Organization for Nuclear Research, CERN)의 팀은 CERN httpd라는 최초의 웹 서버 소프트웨어를 만들었습니다. [2] 이 소프트웨어는 간단한 파일 시스템을 사용하여 웹 페이지를 저장하고 검색했으며 각 요청 및 응답 유형에 3자리 숫자를 할당했습니다. 요청된 파일을 서버에서 찾을 수 없음을 나타내기 위해 숫자 404가 선택되었습니다. [3]
"404 Not Found"라는 용어는 Berners-Lee 자신이 만든 것으로, 그는 1998 년 인터뷰에서 오류 메시지를 "약간 사과"하고 싶다고 설명했습니다. [4][3] 그는 또한 "400 Bad Request"를 대신 사용할까 생각했지만 너무 모호하고 기술적이라고 판단했다고 말했습니다. [4][3]
웹 페이지에 나타나는 404 오류의 첫 번째 문서화 된 사례는 1993 년 사용자가 NCSA 웹 사이트의 Mosaic 웹 브라우저에 대한 페이지에 액세스하려고 시도했을 때였습니다. 페이지가 다른 위치로 이동되었지만 링크가 업데이트되지 않았습니다. [2] 이 사용자는 NCSA 팀에 오류를 보고했고, NCSA 팀은 링크를 수정하고 404 페이지에 유머러스한 메시지를 추가했습니다: "죄송합니다만, 요청하신 문서는 여기에 없습니다. 어쩌면 다른 곳에서 시도해야 할 수도 있습니다." [3]
그 이후로 404 오류는 웹에서 가장 흔하고 인식할 수 있는 오류 중 하나가 되었습니다. 많은 웹사이트가 방문자를 즐겁게 하거나 지원하기 위해 창의적인 디자인, 메시지 또는 기능으로 404페이지를 사용자 정의했습니다. 예를 들어, 구글의 404 페이지에는 고장난 로봇과 홈페이지 링크가 있고,[5] 깃허브의 404 페이지에는 시차 별 필드의 무작위 이미지와 상태 페이지 링크가 있다. [6] 일부 웹사이트는 브랜드 개성, 유머 또는 사회적 대의를 보여주기 위해 404페이지를 사용하기도 했습니다. 예를 들어, 레고의 404 페이지에는 레고 미니피겨 에밋이 유머러스한 메시지와 함께 표시되고,[7] 아마존의 경우 개 이미지,[8] 푸조의 404 모델 사진,[9] RTÉ의 페이지에는 보스코의 이미지가 표시됩니다. [10][11]
Soft 404 오류
일부 웹사이트는 "200 OK" 응답 코드와 함께 표준 웹페이지를 반환하여 페이지가 제대로 로드되었다고 잘못 보고하여 "찾을 수 없음" 오류를 보고합니다. 이를 소프트 404라고 합니다. "soft 404"라는 용어는 2004년 Ziv Bar-Yossef et al.에 의해 소개되었습니다. [12]
Soft 404는 링크가 끊어졌는지 여부를 검색하는 자동화된 방법에 문제가 있습니다. 야후나 구글과 같은 일부 검색 엔진은 소프트 404를 감지하기 위해 자동화된 프로세스를 사용한다.[13] 소프트 404는 특정 HTTP 서버 소프트웨어, 예를 들어 아파치 소프트웨어를 사용할 때 에러 문서 404(.htaccess 파일에 지정됨)가 상대 경로(/error.html)가 아닌 절대 경로(예: http://example.com/error.html)로 지정될 때 구성 오류의 결과로 발생할 수 있다. [14] 이것은 일부 브라우저(예: 인터넷 익스플로러)가 브라우저별 "친숙한" 오류 메시지로 대체하는 대신 사용자 지정된 404 오류 메시지를 표시하도록 하기 위해 의도적으로 수행할 수도 있습니다(인터넷 익스플로러에서 이 동작은 404가 제공되고 수신된 HTML이 특정 길이보다 짧을 때 트리거됩니다. 사용자가 수동으로 비활성화할 수 있음).
콘텐츠가 상태 200으로 반환되지만 누락된 페이지가 도메인 루트/홈 페이지로 리디렉션되는 경우와 같이 리디렉션된 페이지에서 오는 "soft 3XX" 오류도 있습니다.
프록시 서버
일부 프록시 서버는 500 범위 오류 코드가 더 정확할 때 404 오류를 생성합니다. 프록시 서버가 원격 호스트의 문제(예: 호스트 이름 확인 실패 또는 거부된 TCP 연결)로 인해 페이지에 대한 요청을 충족할 수 없는 경우 5xx 내부 서버 오류로 설명해야 하지만 대신 404를 전달할 수 있습니다. 이로 인해 특정 응답을 예상하고 조치를 취하는 프로그램이 더 이상 존재하지 않는 웹 서버와 존재하는 웹 서버에서 누락된 웹 페이지를 쉽게 구별할 수 없기 때문에 혼동될 수 있습니다.
의도적인 404
2004년 7월, 영국의 통신 사업자인 BT Group은 Internet Watch Foundation에서 불법으로 분류한 콘텐츠에 대한 모든 요청에 대해 404 오류를 반환하는 Cleanfeed 콘텐츠 차단 시스템을 배포했습니다. [15] 다른 ISP들도 같은 상황에서 HTTP 403 "금지" 오류를 반환합니다. [16] 검열을 은폐하기 위한 수단으로 가짜 404 오류를 사용하는 관행은 태국[17]과 튀니지에서도 보고되었습니다. [18] 2011년 혁명 이전에 검열이 심했던 튀니지에서 사람들은 가짜 404 오류의 본질을 인식하게 되었고 "보이지 않는 검열관"을 나타내는 "Ammar 404"라는 가상의 캐릭터를 만들었습니다. [19]
Microsoft Internet Server 404 하위 상태 오류 코드
Microsoft에서 개발한 웹 서버 소프트웨어인 Microsoft의 인터넷 정보 서비스(IIS)는 404 응답과 함께 하위 상태 코드 집합을 반환합니다. 하위 상태 코드는 404 상태 코드에 추가된 10진수 형식을 취합니다. 하위 상태 코드는 IANA에서 공식적으로 인식되지 않으며 타사 서버에서 반환되지 않습니다.
하위 상태 코드
Microsoft의 IIS 7.0, IIS 7.5 및 IIS 8.0 서버는 404 오류의 보다 구체적인 원인을 나타내기 위해 다음 HTTP 하위 상태 코드를 정의합니다.