404

Not Found

공식 하위 상태 코드
웹 서버에서 요청된 리소스를 찾을 수 없습니다.

404 상태 코드에 대한 일반적인 설명

404 Not Found 상태 코드는 서버가 지정된 URL에서 리소스를 찾을 수 없다는 뜻입니다. 이 메시지는 대형 웹사이트도 링크 구조가 엄격하고 404 Not Found 오류 메시지가 더 자주 발생하기 때문에 기술 전문가가 아닌 사용자들 사이에서도 가장 잘 알려진 오류 메시지입니다.

HTTP 상태 코드 404의 사양

404 Not Found 상태 코드는 원본 서버가 대상 리소스에 대한 현재 표현을 찾지 못했거나 표현의 존재를 공개하지 않으려는 것을 나타냅니다. 404 Not Found 상태 코드는 이 누락된 표현이 일시적인지 영구적인지를 나타내지 않으며, 원본 서버가 구성 가능한 방법으로 해당 상태가 영구적일 가능성이 높다는 것을 알고 있는 경우 404 Not Found보다 410(사라짐) 상태 코드가 더 선호됩니다. 404 Not Found 응답은 메서드 정의 또는 명시적 캐시 제어에서 달리 명시하지 않는 한 기본적으로 캐시할 수 있습니다([RFC7234] 4.2.2 절 참조).

출처 / 인용 출처: 404 Not Found HTTP 상태 코드는 RFC7231 섹션 RFC7231에 명시되어 있습니다.

PHP로 404 상태 코드를 던지는 방법은 무엇인가요?

웹 페이지에 HTTP 상태 코드 404를 던지려면 PHP 함수 http_response_code를 사용할 수 있습니다. 구문은 다음과 같습니다: http_response_code(404) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

404 HTTP 상태 코드 테스트

클라이언트 측에서 HTTP 상태 코드(이 경우 404 Not Found) 및 기타 정보를 표시하려면 F12를 사용하여 개발 콘솔을 열어야 합니다. 그런 다음 "네트워크" 탭으로 이동합니다. 이제 페이지를 열면 네트워크 탭에 웹사이트(예: index.php)가 표시됩니다. 이를 선택한 다음 허더 섹션을 선택해야 합니다. 그러면 사용자에게 다음과 같은 결과가 표시됩니다:

상태 코드 404 Not Found
개요
URL: https://http-statuscode.com/errorCodeExample.php?code=404
상태: 404 Not Found
그: Network
IP 주소: XX.XX.XX.XX
상태 코드 404 Not Found

404 상태 코드 문제를 해결하려면 어떻게 해야 하나요?

상태 코드 404 Not Found는 여러 가지 이유로 발생할 수 있습니다. 사소한 이유도 있지만 더 복잡한 이유도 있습니다. 가장 가능성이 높은 이유는 URL의 철자가 잘못되었거나 내부 페이지에 대한 링크가 잘못 설정되었기 때문입니다. 또 다른 가능성은 링크된 페이지가 웹 서버에서 삭제되어 410(사라짐)과 같은 후속 상태 코드가 설정되지 않았기 때문일 수 있습니다.

그러나 다소 복잡한 오류 패턴이 있을 수도 있습니다. URL의 철자가 틀렸거나 리소스가 삭제되지 않은 것이 확인되면 "htaccess" 파일의 리디렉션에도 결함이 있을 수 있습니다. 잘못된 리디렉션은 웹 도구로 감지할 수 있는 경우가 많습니다.

마지막 가능성으로 캐싱 문제도 고려할 수 있습니다. 서버 측에서 이미 문제가 해결되었지만 브라우저의 캐시가 페이지를 다시 로드하지 않고 로컬 메모리에서 로드하거나 웹 서버가 현재 버전을 로드하지 않는 경우입니다. 이 경우 클라이언트 측과 서버 측 모두에서 캐시를 지워야 합니다.

상태 코드 404에 대한 오류 페이지를 직접 만드는 방법

자체 404 Not Found 오류 페이지를 만드는 것은 "Apache" 및 "NGINX" 웹 서버 모두에서 비교적 쉽습니다.

Apache Webserver

웹 서버 "아파치"는 인터넷에서 가장 일반적인 웹 서버 중 하나입니다. "Apache"에서 404 Not Found 오류 페이지를 직접 생성하려면 다음 파일에서 다음과 같이 변경해야 합니다.

File: .htaccess
ErrorDocument 404 /errors/404.html

NGINX Webserver

웹 서버 "Apache"와 마찬가지로 "NGINX"도 인터넷에서 널리 사용됩니다. "NGINX"에서 404 Not Found 오류 페이지를 직접 생성하려면 다음 파일에서 다음과 같이 변경해야 합니다.

File: sites-enabled/default
error_page 404 /404.html;
location = /404.html {
    root /usr/share/nginx/html;
    internal;
}

404 상태 코드의 브라우저 호환성

Chrome Yes
Edge Yes
Firefox Yes
Opera Yes
Safari Yes
Chrome Android Yes
Firefox for Android Yes
Opera Android Yes
Safari on iOS Yes
Internet Yes
WebView Android Yes

404 상태 코드의 SEO 효과는 무엇인가요?

검색 엔진 최적화(SEO)의 세계에서 404 Not Found "찾을 수 없음" 상태 코드는 단순한 오류 메시지 그 이상입니다. 검색 엔진이 웹사이트를 인식하고 평가하는 방식에 실질적이고 가시적인 영향을 미칩니다.

사용자 또는 검색 엔진 크롤러가 존재하지 않는 페이지에 액세스하려고 시도하여 404 Not Found 오류가 반환되면 검색 엔진은 이를 페이지가 존재하지 않는 것으로 해석합니다. 여기저기서 산발적으로 발생하는 404 Not Found 오류는 검색 엔진 순위에 큰 영향을 미치지는 않습니다. 그러나 이러한 오류가 누적되면 검색 엔진에 웹사이트가 제대로 유지 관리되거나 업데이트되지 않았다는 신호가 될 수 있습니다.

404 Not Found 오류가 자주 발생하면 검색 엔진에서 웹사이트 구조 또는 유지 관리가 불량하다는 지표로 인식할 수 있습니다. 이는 결국 검색 엔진이 웹사이트에 대한 신뢰에 부정적인 영향을 미칠 수 있습니다. SEO의 세계에서는 신뢰가 가장 중요합니다. 검색 엔진이 신뢰하는 웹사이트는 검색 결과에서 더 높은 순위를 차지하는 경향이 있습니다.

또한 앞서 언급했듯이 모든 웹사이트에는 크롤링 예산이 있습니다. 이는 검색 엔진 크롤러가 주어진 기간 동안 방문할 페이지 수를 나타냅니다. 404 Not Found 오류가 너무 많으면 이 예산의 상당 부분이 존재하지 않는 페이지에 낭비될 수 있습니다. 즉, 새 콘텐츠나 업데이트된 콘텐츠가 검색 엔진에서 검색되고 색인화되는 데 시간이 더 오래 걸릴 수 있습니다.

또 다른 중요한 문제는 404 Not Found 오류로 인한 백링크의 손실입니다. 백링크는 중요한 순위 요소이며 외부 페이지가 404 Not Found 오류를 반환하는 URL로 연결되면 해당 링크는 더 이상 검색 엔진에서 긍정적인 순위 요소로 간주되지 않습니다.

요약하면, 404 Not Found 오류는 표면적으로는 무해해 보일 수 있지만 웹사이트의 검색 엔진 순위에 심각한 영향을 미칠 수 있습니다. 따라서 웹마스터는 이러한 오류를 정기적으로 모니터링하고 수정하여 웹사이트가 검색 결과에서 최상의 순위를 유지할 수 있도록 하는 것이 최선의 방법입니다.

프로그래밍 언어의 상수

HttpStatusCode.NotFound
http.StatusNotFound
response::HTTP_NOT_FOUND
httplib.NOT_FOUND
http.client.NOT_FOUND
http.HTTPStatus.NOT_FOUND
:not_found

HTTP 상태 코드 404가 있는 "클라이언트 요청" 및 "서버 응답"에 대한 예시

Client request:

GET /missingpage.php HTTP/1.1
Host: www.http-statuscode.com

Server response:

HTTP/1.1 404 Not Found
Content-Type: text/html

<html>
<head><title>404 Not Found</title></head>
<body>
<h1>Not Found</h1>
<p>The requested URL /missingpage.php was not found on this server.</p>
</body>
</html>

404 상태 코드의 하위 상태 코드

하위 상태 코드는 순전히 기술적인 것이므로 사용자에게 전송되어서는 안 됩니다. 예를 들어 상태 코드 404.1이 발생하면 기록될 수 있지만 상태 코드 404는 사용자에게 전송됩니다.:
404.0 Not found
HTTP IIS, 비공식
404.1 Site Not Found
HTTP IIS, 비공식
404.2 ISAPI or CGI restriction.
HTTP IIS, 비공식
404.3 MIME type restriction.
HTTP IIS, 비공식
404.4 No handler configured
HTTP IIS, 비공식
404.5 Denied by request filtering configuration
HTTP IIS, 비공식
404.6 Verb denied
HTTP IIS, 비공식
404.7 File extension denied
HTTP IIS, 비공식
404.8 Hidden namespace
HTTP IIS, 비공식
404.9 Files attribute hidden
HTTP IIS, 비공식
404.10 Request header too long
HTTP IIS, 비공식
404.11 Request contains double escape sequence
HTTP IIS, 비공식
404.12 Request contains high-bit characters
HTTP IIS, 비공식
404.13 Content length too large
HTTP IIS, 비공식
404.14 Request URL too long
HTTP IIS, 비공식
404.15 Query string too long
HTTP IIS, 비공식
404.16 DAV request sent to the static file handler
HTTP IIS, 비공식
404.17 Dynamic content mapped to the static file handler
HTTP IIS, 비공식
404.18 Querystring sequence denied
HTTP IIS, 비공식
404.19 Denied by filtering rule
HTP IIS, 비공식
404.20 Too Many URL Segments
HTTP IIS, 비공식
404.501 Too many requests from the same client IP; Dynamic IP Restriction Concurrent request rate limit reached
HTTP IIS, 비공식
404.502 Too many requests from the same client IP; Dynamic IP Restriction Maximum request rate limit reached
HTTP IIS, 비공식
404.503 the IP address is included in the Deny list of IP Restriction
HTTP ISS, 비공식
404.504 the host name is included in the Deny list of IP Restriction
HTTP IIS, 비공식

HTTP 상태 코드 404에 대한 재미있는 밈

블로그 기사

HTTP 상태 코드: 404 찾을 수 없음 및 410 사라짐 오류 메시지에 대한 자세한 분석

HTTP 상태 코드는 웹 브라우저와 웹 서버 간의 통신을 위한 기초를 형성하는 하이퍼텍스트 전송 프로토콜(HTTP)의 필수적인 부분입니다. 상태 코드는 HTTP 요청과 응답의 상태를 표시하여 클라이언트와 서버 간의...

SEO 및 HTTP 상태 코드: 종합적인 분석

검색 엔진(SEO)을 위해 웹사이트를 최적화하는 것은 복잡한 작업입니다. 종종 간과되지만 좋은 순위를 얻기 위해 중요한 측면 중 하나는 HTTP 상태 코드입니다. 이 작은 3자리 코드는 사용자와 브라우저뿐만 아니...

작성자: Tony Brüser
작성자: Tony Brüser

토니 브루서는 HTTP 상태 코드에 관심이 많은 열정적인 웹 개발자입니다.

LinkedInGitHub