HTTP 404 에러 (Not Found)

HTTP 404, 또는 오류 메시지 Not Found(“찾을 수 없음”의 의미)는 HTTP 상태 코드 중 하나입니다. 클라이언트가 서버에 접속할 수 있었지만,  클라이언트의 요구에 해당하는 것 (웹 페이지 등)을 서버가 발견되지 않았던 것을 나타낼 때 사용합니다. 또는 요구에 응할 수 없는 이유를 속이기 위해서도 사용됩니다.

웹 브라우저가 표시하는 “서버를 찾을 수 없음”과 같은 메시지는 서버와의 연결에 실패했음을 나타내며 404와는 별도입니다.

 

개요

HTTP를 사용하여 통신을 할 때, 브라우저에 의한 HTML 문서(웹 페이지)등의 요구에 대해서, 서버는 응답을 돌려달라고 요구됩니다. 응답에는 숫자에 따른 상태 코드와 이메일과 같은 헤더와 본문이 포함됩니다. 상태 코드(404)에서, 최초의 “4“는 클라이언트 측의 에러(URL의 미스 타입 등)를 나타내고, 다음의 “04“는 에러의 종류를 나타냅니다. 이러한 HTTP의 3자리 코드는 FTP나 NNTP와 같은 HTTP 이전부터 있는 프로토콜과 유사합니다.

일본에서는 이 숫자는 WWW가 발명된 유럽원자핵연구기구(CERN)의 404라는 방 번호를 따서 붙여졌다는 도시전설이 있지만 실제로는 CERN에는 404라는 방은 없습니다.

상태 코드의 숫자에는 대개 영어 텍스트가 추가됩니다. 404의 경우는 “Not Found“입니다. 서버는 일반적으로 404 응답과 함께 “404 File not found”와 같이 숫자와 메시지를 설명하는 짧은 페이지를 보냅니다. 현지화 표현으로는 파일을 찾을 수 없습니다페이지를 찾을 수 없습니다와 같은 기술이 됩니다. 서버 어플리케이션의 디폴트의 메세지를 사용하지 않고, 404용의 페이지를 커스터마이즈 하고 있는 서버도 많습니다. 예를 들어 Apache HTTP Server에서는 .htaccess 파일이나 httpd.conf를 다시 쓰면 그러한 커스터마이즈가 가능하다.

참고: .htacess 파일에서 404 페이지 설정 방법

파일에 아래 코드를 추가합니다.

ErrorDocument 404 http://example.com

 

Internet Explorer(IE6 이전)에서는 512 바이트 이하의 경우는 송신된 404용의 페이지를 표시하지 않고 대신에 ‘친절한’ 에러 페이지를 표시했습니다. 이 동작은 인터넷 옵션고급 설정에서 「HTTP 에러 메시지를 간이 표시한다」의 체크를 해제함으로써 변경할 수 있습니다.

404는 서버 상의 페이지가 이동되거나 삭제될 때도 전송될 수 있습니다. 그러나 엄밀하게는 이동되었을 경우는 301 Moved Permanently, 삭제되었을 때는 410 Gone를 돌려주어야 합니다. 다만, 301이나 410을 돌려주기 위해서는 특별한 설정이 필요하기 때문에 많은 웹사이트는 그러한 설정을 하고 있지 않습니다.

WWW에서는 404의 표시가 자주 보이기 떄문에 404는 “사람이나 물건을 찾을 수 없다”는 것을 의미하는 말이 되었습니다. 유머러스한 404페이지를 만드는 것이 유행하거나, 여러가지 404페이지를 모으는 것만을 목적으로 한 사이트가 만들어지거나 하고 있습니다.

 

Soft 404

일부 웹 사이트는 “파일을 찾을 수 없음”을 나타내기 위해 성공을 나타내는 상태 코드 “200 OK“와 함께 웹 페이지를 보낼 수 있습니다. 이것은 “Soft 404″라고 불립니다. Soft 404의 문제는 링크가 끊어 졌는지 여부를 자동으로 조사 할 수 없다는 것입니다.

문의 | 코멘트 또는 yoonbumtae@gmail.com


카테고리: etc.


0개의 댓글

답글 남기기

Avatar placeholder

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다