Fact-checked by Grok 2 weeks ago

HTTP 404

HTTP Not Found is a standard Hypertext Transfer Protocol (HTTP) response status code within the 4xx range of client errors, indicating that the origin did not find a current representation for the target resource or is not willing to disclose that one exists. This code was first formally defined in the HTTP/1.0 specification published in May 1996, where it was described as applying when the requested resource could not be found on the . Unlike the 410 Gone status, which signals permanent unavailability, 404 provides no indication of whether the condition is temporary or permanent, leaving servers to use discretion or additional headers for clarification. In web usage, it commonly arises from mistyped uniform resource locators (URLs), broken hyperlinks, or requests for deleted or relocated content, prompting servers to return either a default or customized error to inform users of the issue. The code's ubiquity has led to widespread cultural recognition, with many sites employing humorous or branded 404 pages to mitigate user frustration while adhering to the protocol's semantic intent.

Technical Definition

Status Code Semantics

The 404 (Not Found) status code belongs to the 4xx series of HTTP client error codes, signaling that the client's request targets a for which the has no current representation available or elects not to disclose one. This code is generated by the origin upon evaluating the request's target against its available resources, resulting in an inability or unwillingness to fulfill the request with the expected content. Unlike success codes (2xx), it explicitly denotes a mismatch between the requested and what the can provide, without implying server-side faults (as in 5xx codes). Semantically, the 404 code communicates that "the origin did not find a current representation for the target or is not willing to disclose that one exists," as defined in the HTTP semantics specification. This formulation accommodates scenarios where the is genuinely absent—such as due to deletion, relocation without redirection, or non-existence—but also permits to obscure the true state for security reasons, like avoiding confirmation of sensitive paths in attempts. The code does not assert permanence; a yielding may become available later, distinguishing it from related codes like (Gone), which denotes irreversible unavailability. may accompany the 404 response with a payload, such as an error page or details, to elaborate on the absence, though this is optional and not required for compliance. In practice, the semantics emphasize causal disconnection between the client's and server-side reality, prioritizing transparency in resource mapping without mandating disclosure of internal configurations. This design supports robust web architecture by enabling clients to handle transient or opaque failures gracefully, such as through retries or alternative queries, while servers maintain control over visibility. The code's interpretation remains consistent across HTTP versions, including HTTP/1.1 and , as codified in 9110 (published June 2022), which obsoletes prior definitions in RFC 7231 without altering core intent.

Response Requirements

The HTTP 404 Not Found response requires a status line in the format "HTTP/1.1 404 Not Found" (or equivalent for other HTTP versions), where the numeric signals that the server did not find a current representation for the target resource or is unwilling to disclose that one exists. This status code falls within the 4xx client error class, implying the request was syntactically valid but the server cannot fulfill it due to the absent resource. The reason phrase "Not Found" is conventional but not mandatory; servers may use alternatives provided they do not alter the code's semantics. Following the status line, the response includes zero or more header fields, such as (required if the server maintains a clock), (optional, identifying the software), and Content-Type if a body is present. No unique headers are mandated exclusively for 404 beyond general HTTP rules, though Cache-Control directives can override default caching behavior, as 404 responses are not cacheable unless explicitly permitted (e.g., via "" or max-age values). For HEAD requests, the response omits any message body while still conveying the 404 . A message body is permitted but not required; when included, it typically carries a human-readable explanation of the error, such as details on the missing resource or suggested remedies, often in for web browsers or for APIs. Servers should provide such a unless it would be unhelpful, as it aids diagnostics without implying the condition's permanence—distinguishing 404 from Gone, which signals irrecoverable absence. The , if sent, follows standard rules, with its length indicated via Content-Length or Transfer-Encoding. The HTTP 404 status code differs from 400 Bad Request in that the latter indicates the cannot process the request due to a perceived client , such as malformed , invalid framing, or deceptive , whereas 404 applies to syntactically valid requests where no matching resource representation is found or disclosed. In contrast to 403 Forbidden, which denotes that the server comprehends the request but refuses —potentially describing the reason in the response without necessarily confirming —404 specifically signals the absence of a current representation or unwillingness to reveal it, often used to obscure whether the resource ever existed for security reasons. Unlike Gone, which asserts that the is no longer available at the origin and the condition is likely permanent—implying prior existence but no forwarding or recovery— provides no definitive information on permanence, allowing for the possibility of temporary unavailability or non-existence without committing to either.
Status CodeSemantic DefinitionKey Distinction from 404
Bad Request rejects due to client-perceived errors like invalid syntax.Focuses on request malformation, not .
403 Forbidden refusal after request understanding.Admits request validity but denies access; 404 denies match.
GonePermanent unavailability of previously accessible .Specifies irrecoverability; 404 remains agnostic on duration.
These distinctions ensure precise communication of failure modes, with serving as a neutral indicator of resource inaccessibility without implying server-side faults (as in 5xx codes like 500 Internal Server Error) or method-specific issues (e.g., 405 Method Not Allowed).

Historical Development

Origins in Early HTTP

The earliest implementation of HTTP, designated HTTP/0.9 and developed by at in 1991, operated without formal status codes or response headers. In this minimalist protocol, a client issued a simple GET request specifying a resource path, and the server either transmitted the corresponding document directly or, if the resource was unavailable, potentially returned an ad hoc error message within the response body, such as a plain-text indication of failure, without standardized signaling. This approach sufficed for the protocol's initial purpose of retrieving hypertext documents but lacked mechanisms for precise error categorization, limiting interoperability as web usage expanded. Status codes, including 404 Not Found, emerged with HTTP/1.0, which introduced a structured response format featuring a status line with a three-digit numeric code and reason phrase to convey request outcomes explicitly. Defined in RFC 1945 (published May 1996 by the ), the 404 code falls within the 4xx series for client s, specifically denoting that the origin server failed to locate the target despite believing the request was valid in syntax and authority. This innovation addressed HTTP/0.9's limitations by enabling servers to signal absence uniformly, without embedding s in bodies, thus facilitating and in nascent distributed systems. Early HTTP/1.0 implementations, such as those in servers like httpd (updated versions from 1993 onward), began incorporating these codes to handle growing link breakage and misdirected requests as the proliferated beyond 's intranet. The selection of 404 as the specific code for "Not Found" followed the HTTP/1.0 convention of reserving 400-499 for transient or permanent client-side issues, with sequential numbering for subtypes: 400 for generic bad requests, 401 for authorization failures, and so forth, culminating in for absent resources distinguishable from server-internal errors (5xx). This design drew from prior networked protocols' error-handling precedents, emphasizing causal distinction between client intent and server capability, rather than folklore attributions like CERN's room 404 housing early servers—a notion lacking substantiation in protocol documents and dismissed by developers as coincidental. By standardizing such feedback, HTTP/1.0's code laid foundational resilience for the web's error-prone, decentralized , where resources could relocate or vanish without central oversight.

Standardization and RFCs

The HTTP 404 status code was first formally standardized in RFC 1945, which defined Hypertext Transfer Protocol version 1.0 (HTTP/1.0) and was published in May 1996 by the (IETF). In section 9.4 of that document, 404 "Not Found" is described as indicating that "the server has not found anything matching the Request-URI," with no specification of whether the absence is temporary or permanent, and noting that servers may use 403 "Forbidden" instead to withhold details. This marked the code's introduction as part of the 4xx client error class, building on earlier informal HTTP practices without status codes in HTTP/0.9. Subsequent refinements occurred with HTTP/1.1, initially proposed in RFC 2068 (January 1997), where section 10.4.5 retained the core semantics but emphasized that clients should not repeat unmodified requests unless conditions might change, and clarified that an entity-body could provide explanatory details. This draft was obsoleted and expanded in RFC 2616 (June 1999), which in section 10.4.5 specified that 404 applies when the server knows no entry exists for the Request-URI, rendering further session attempts futile, and distinguished it from "Gone" for permanent unavailability without forwarding. RFC 2616 also noted the code's default cacheability and use when servers withhold refusal reasons. Later updates decoupled HTTP semantics from transfer mechanics; RFC 7231 (June 2014) reiterated 404's role in the 4xx class without major semantic shifts, focusing on consistent message handling. The current definition appears in RFC 9110 (June 2022), which consolidates HTTP semantics and states in section 15.5.5 that 404 indicates the origin "did not find a current representation for the target resource or is not willing to disclose that one exists," applicable to GET or HEAD methods, with heuristic cacheability unless overridden. This reflects iterative IETF on balancing , caching, and signaling, without altering the code's fundamental purpose across versions.

Persistence Across Protocol Versions

The HTTP 404 status code, denoting that the server cannot locate the requested resource, originated in HTTP/1.0 as defined in RFC 1945, published on May 2, 1996, where it states the server has not found anything matching the Request-URI, without specifying if the absence is temporary or permanent. This formulation emphasized a general client error without implying resource relocation or server unavailability. In HTTP/1.1, formalized in RFC 2616 on June 1999, the 404 definition persisted with nearly identical semantics: the server has not found anything matching the Request-, again avoiding details on permanence to prevent information leakage about server structure. Subsequent updates to HTTP/1.1 semantics in RFC 7230 (June 2014) and the consolidated RFC 9110 (June 2022) refined phrasing to "the origin server did not find a current representation for the target resource," but retained the core indication of resource unavailability at the specified , ensuring continuity for . HTTP/2, specified in 7540 on May 2015, introduced framing, header , and over a single but preserved all HTTP/1.x status codes, including , with unchanged semantics to maintain compatibility; servers issue in response frames to signal the same not-found condition without protocol-level alterations. Likewise, , outlined in 9114 on June 2022 and using for transport, adopts the status code semantics from 9110, where explicitly conveys the absence of a current , unaffected by QUIC's shift to UDP-based and . This consistency across versions—from text-based HTTP/1.x to and QUIC-enabled protocols—facilitates seamless error propagation, as clients interpret uniformly regardless of underlying transport or framing differences. No deprecations or redefinitions of have occurred in subsequent versions, underscoring its role as a , version-agnostic indicator of mismatch, which supports incremental evolution without breaking existing and client implementations. Empirical deployment shows widespread adherence, with 404 responses comprising a significant portion of errors in and traffic analyses, confirming practical persistence.

Common Causes

Resource Absence

The HTTP 404 status code signifies that the origin failed to locate a current for the target resource identified by the request , or declines to disclose its existence. In cases of genuine resource absence, this response accurately reflects the unavailability of the requested entity, such as a , , or data record that no longer exists or never did on the . generate this code during path resolution when the URI maps to no accessible content within the configured filesystem or backend storage, independent of temporary unavailability or permission issues that might warrant other codes like 403 or 503. Resource absence commonly arises from deliberate content removal, where web administrators delete files or database entries without implementing redirects or archives, leading to broken inbound links from search engines, external sites, or bookmarks. For example, a static resource like an or at "/legacy/report.pdf" triggers a 404 if purged from the document root during site maintenance or cleanup, as the 's file handler—such as Apache's mod_dir or Nginx's static module—confirms the path's nonexistence via filesystem checks. Empirical data from tools indicates that such deletions account for a significant portion of 404 occurrences, with studies reporting up to 80% of errors stemming from outdated or removed rather than transient states. In dynamic applications, including RESTful APIs, resource absence manifests when identifiers reference nonexistent entities, such as a user profile with a deleted database record; protocols recommend 404 here to distinguish from malformed requests (400) or authorization failures (401). This causal chain—URI parsing yields no matching backend query result—ensures clients receive unambiguous feedback, though some implementations obscure absence for security by uniformly returning 404 instead of exposing schema details. User-initiated absences, like mistyped paths (e.g., "/prodcut" instead of "/product"), further amplify this, as servers treat them as requests for void resources without inferring intent.

Server Configuration Errors

Server configuration errors that trigger HTTP 404 responses stem from mismatches in how the interprets request paths against its internal mappings, often despite resources existing on the filesystem. These issues frequently involve incorrect directives for resource locations, , or request , leading the server to conclude the resource is absent. In , misconfigurations commonly cause 404 errors; for instance, failing to align NameVirtualHost with <VirtualHost> directives or omitting ServerName can route requests to an unintended default host lacking the requested file. Similarly, changing DocumentRoot without updating corresponding <Directory> blocks denies access definitions for the new path, resulting in not-found responses. .htaccess files with erroneous rewrite rules or redirects can also disrupt path resolution, directing to non-existent endpoints. For , a frequent culprit is a misconfigured block, such as an incorrect server_name directive that fails to match incoming hosts, or a root path pointing to an invalid like /var/www/[html](/page/HTML) when files reside elsewhere. blocks exacerbate this if try_files directives (e.g., try_files $uri $uri/ =404) do not properly fallback to dynamic scripts, or if index omits default files like index.php, yielding 404s for requests. In IIS, configuration errors include virtual directory mappings to nonexistent paths or unenabled web service extensions/handlers, manifesting as subcodes like 404.2 (locked web service extensions, e.g., for ) or 404.3 ( type unmapped for file extensions). Binding misconfigurations, where site URLs do not align with physical directories, further prevent resource location. Across servers, unhandled case sensitivity in paths (e.g., on filesystems) or absent aliases for dynamic content can mimic absence, though these resolve via config adjustments like enabling AllowOverride in for .htaccess or verifying root permissions in (requiring read access, e.g., 644 for files). Troubleshooting typically involves server logs (e.g., 's error_log showing failed paths) and tools like apachectl -S for virtual host validation or nginx -t for syntax checks.

URL Rewriting and Dynamic Content Issues

URL rewriting, a server-side technique used to map human-readable URLs to internal server resources or scripts, frequently contributes to HTTP 404 errors when rules are misconfigured. In systems like 's mod_rewrite or Microsoft's IIS URL Rewrite module, patterns such as regular expressions or conditions must precisely match incoming requests; failures, such as using wildcards instead of regex for complex paths, prevent proper mapping and result in the server treating the URL as a non-existent static file, yielding a 404 response. Similarly, incorrect backreferences (e.g., {REQUEST_URI} versus {R:1}) in rewrite actions can redirect to invalid internal paths, triggering the error. Common pitfalls include distinguishing between (internal mapping without client notification) and redirect (external 3xx response), where conflating the two leads to loops or failed resolutions; for example, a intended to internally route /article/123 to /index.[php](/page/PHP)?id=123 but instead attempting a client-visible redirect exposes the backend path and fails if the target does not exist. In configurations via .htaccess files, referencing non-existent scripts post-rewrite—such as Rewrite[Rule](/page/Rule) ^article/(.*)$ /article/index.[php](/page/PHP) [L] without the target file—directly cause 404s upon match. Case sensitivity, absent trailing slashes, or unhandled query strings exacerbate these, as servers like or IIS may not normalize inputs consistently, leading to unmatched . Dynamic content generation amplifies these risks, as platforms like content management systems (CMS) or single-page applications (SPAs) rely on rewriting to funnel diverse URLs to a single entry-point script (e.g., index.php in PHP-based sites or app.js in Node.js environments). Misconfigurations occur when URL patterns for dynamic routing exclude edge cases, such as URLs lacking expected parameters or varying in format due to user input; for instance, in Magento e-commerce platforms, outdated or conflicting rewrite rules in the admin panel fail to resolve product or category slugs, resulting in 404s for valid but unhandled paths. In SPAs using client-side frameworks like React, server-side rewrites must fallback unmatched routes to the main bundle; without this (e.g., no try_files $uri /index.html; in Nginx), direct access or refreshes return 404 as the server seeks a literal file. Further issues in dynamic setups stem from evolving content structures, where automated URL generation in like or custom applications produces dependent on database queries; if rewrite rules are not flushed or synchronized after structural changes (e.g., permalink updates), requests hit non-matching patterns and default to handling. Server module dependencies, such as disabled mod_rewrite in or absent Application Request Routing (ARR) in IIS, compound this by bypassing dynamic invocation entirely, treating URLs as static and absent. These problems persist across environments, with diagnostics often requiring log analysis for rewrite traces to identify failed matches.

Server-Side Implementations

Generic HTTP Server Handling

In generic HTTP implementations adhering to protocol standards, the handling of a response begins with the incoming request, which includes the method (typically GET or HEAD), the , and associated headers. The then maps the to a potential , such as a path, database entry, or dynamically generated content, using configured routing rules or default filesystem resolution. If no matching is identified or accessible—due to absence, permission denial without disclosure, or unwillingness to reveal existence—the generates a response with status code (Not Found). This code signals to the client that the origin holds no current representation for the requested , distinguishing it from other 4xx errors like (Bad Request) for malformed syntax. The response typically includes a minimal body containing a human-readable description, such as "Not Found" or "The requested URL /path/to/resource was not found on this server," formatted in plain text or HTML for browser display. Servers may append standard headers like Date, Server, and Content-Type (e.g., text/html for error pages), but the specification does not mandate a body; empty responses are permissible, though rare in practice to aid client debugging. For HEAD requests, only headers are returned, omitting the body to match GET behavior without content transfer. This process ensures semantic consistency across HTTP versions, with servers logging the event for diagnostics, often including the URI, client IP, and timestamp. Error body content remains generic unless customized, avoiding sensitive details like internal paths to prevent reconnaissance attacks. The RFC emphasizes that 404 should be used when the condition's permanence is unknown, rather than 410 (Gone) for confirmed deletions. In minimal or reference implementations, such as those in programming language standard libraries, this handling is hardcoded: resource lookup fails, status is set to 404, and a default message is serialized into the response stream. This approach prioritizes protocol compliance over user experience enhancements, which are deferred to application layers or vendor extensions.

Vendor-Specific Extensions

Apache HTTP Server implements vendor-specific extensions for HTTP 404 responses via the ErrorDocument directive, introduced in early versions and detailed in version 2.4 documentation, which allows administrators to specify a custom , remote redirect, or inline message body in place of the default error response. This directive supports environment variables such as REDIRECT_STATUS, REDIRECT_URL, and REDIRECT_QUERY_STRING for dynamic content generation in custom pages, enabling context-aware error handling not mandated by HTTP standards. Nginx extends 404 handling through the error_page directive in its ngx_http_core_module, permitting substitution with a custom , internal redirect, or external response while preserving the original 404 status code unless overridden. This feature supports named locations for modular error processing and can chain with other directives like proxy_intercept_errors for integration, providing flexibility for high-performance environments beyond basic status code emission. Microsoft Internet Information Services (IIS) configures 404 extensions using the <httpErrors> element in web.config or via the IIS Manager , where custom pages can be defined by status code with options for detailed or generic responses to balance and . IIS further allows substatus codes (e.g., 404.0 for file not found, 404.3 for type restriction) in and diagnostics, though these are primarily for server-side rather than client-facing output. These mechanisms enable detailed mapping but require explicit to avoid default http.sys responses in kernel-mode handling.

Proxy and Load Balancer Behaviors

Proxies and load balancers generally forward HTTP 404 responses from backend servers to clients unchanged, preserving the origin's indication of a missing resource. This passthrough behavior ensures transparency in error signaling, but configurations can introduce variations, such as path rewriting mismatches that generate proxy-originated 404s independent of the backend. Many reverse proxies support caching of 404 responses to mitigate repeated requests for non-existent resources, reducing backend load and latency. For instance, NGINX's proxy_cache directive can be extended to store error status codes like , though it requires explicit via directives such as proxy_cache_valid for error responses, as default settings prioritize successful caches. Similarly, content delivery networks like Akamai specific error codes, including 404, for brief durations—typically 10 seconds by default—to balance performance gains against freshness needs. , however, does not natively generate or cache 404s but can intercept backend errors via http-response rules to substitute custom pages, avoiding direct forwarding in scenarios like unmatched ACLs. Load balancers often treat backend 404s in health checks as indicators of partial functionality, potentially marking servers unhealthy if the check endpoint returns such a code, leading to traffic rerouting. In cloud environments, mismatches in URL mapping or path rules—such as undefined path matchers in Google Cloud Load Balancing—can trigger load balancer-generated 404s before reaching backends. AWS Application Load Balancers propagate backend 404s but may exhibit them due to target group misconfigurations, emphasizing the need for aligned routing rules across layers. These behaviors underscore that while proxies and load balancers aim for seamless forwarding, custom policies for caching, error substitution, and health monitoring can modulate 404 propagation to optimize reliability and security.

Client-Side and User Interactions

Browser Rendering and Fallbacks

When a receives an HTTP 404 response, it processes the status code to log the error in developer tools and apply relevant caching policies, but primarily renders the response body as delivered by the , which is conventionally an document explaining the resource's absence. This rendering occurs irrespective of the 4xx status, allowing servers to provide user-friendly custom error pages with navigation aids, search forms, or to mitigate user frustration, as recommended in HTTP specifications for including descriptive content in error responses. In cases where the server returns a 404 status without a substantive body—such as a minimal or empty response—browsers fall back to their built-in default error interfaces to inform users. displays a notification like "This page was not found," often with troubleshooting suggestions including URL verification or integration with for alternatives. presents "404 Not Found" alongside options to retry the request or return to the previous page. shows variants such as "Safari can’t find the " or "The page you’re looking for could not be found," depending on whether the error stems from invalidity or unavailability. , leveraging the engine since version 79 in January 2020, adopts Chrome's default rendering and suggestions. Client-side fallbacks enhance resilience in modern web applications, particularly single-page applications (SPAs) where frameworks handle routing post-initial load. Servers may configure fallbacks to serve the application's entry point (e.g., index.html) for unmatched paths, allowing client-side code to detect the 404 via calls or navigation guards and render a dynamic component instead of propagating the server . For embedded resources like images triggering 404s, such as onerror or event handlers enable immediate substitution with placeholder assets, preventing layout shifts. These mechanisms, while not altering the HTTP response, improve perceived reliability by avoiding raw browser defaults.

Error Page Customization Practices

Customizing HTTP 404 error pages involves configuring web servers to serve tailored responses instead of default system messages, aiming to enhance by providing navigational aids and branded content while preserving the 404 status code. This practice, recommended since at least 1998, replaces terse "Not Found" outputs with pages featuring clear explanations, search functionality, and links to site sections like the homepage or . Proper requires the server to return the genuine 404 header to inform search engines accurately, avoiding misleading 200 OK responses that could propagate errors. Key elements in effective customizations include apologetic yet concise messaging, suggestions for similar content or typos, and calls-to-action to retain visitors, which can lower bounce rates compared to generic errors. For instance, integrating a site search bar allows users to query alternatives directly, while avoiding automatic redirects to the homepage, which may confuse users and obscure the error's nature. Branding consistency, such as matching fonts and colors, reinforces site identity, and humorous or thematic illustrations— like Google's graphic—can mitigate frustration without distracting from recovery options. Google's 2008 guidance emphasized embedding search widgets in custom pages to aid discovery, potentially improving user retention and indirect signals through reduced immediate exits. Implementation varies by server: uses .htaccess directives like ErrorDocument 404 /custom404.html to map responses, while employs error_page 404 /404.html; in configuration files, ensuring the custom file resides in the document root. For content management systems like , plugins or templates handle customization, often including to track error frequency. Monitoring tools should log instances separately from custom pages to diagnose underlying issues like broken links, as unchecked errors can accumulate and signal site maintenance neglect to crawlers. Notable examples demonstrate varied approaches: Lego's page employs on-brand humor with brick-building motifs and category links; features interactive scrolling elements guiding to support resources; and integrates product search to facilitate continued shopping. These retain users by aligning with voice—Lego's playful suits its —while providing , though excessive creativity risks diluting functionality if navigation aids are omitted. Studies and observations indicate such pages can convert errors into engagement opportunities, with custom designs outperforming defaults in user satisfaction metrics.

User Notification and Recovery Options

When a client receives an HTTP 404 response, web browsers notify users by rendering the response body, which typically includes an page displaying a such as "404 Not Found" along with details indicating the requested resource could not be located on the . If the server provides no custom body, browsers fall back to default error interfaces, such as Chrome's "This site can’t provide a secure " variant for 404s or Firefox's generic "The requested was not found on this ." . To facilitate recovery, effective 404 pages incorporate user-friendly options including a prominent link to the site's homepage, an integrated search bar for querying similar content, and supplementary navigation elements like or category menus. These features address common causes like URL typos or outdated by enabling quick redirection without requiring users to restart . Additional recovery mechanisms may involve automated suggestions, such as spell-check for the requested or links to related popular pages, which studies show reduce bounce rates by guiding users toward viable alternatives. Browser-level aids, including the back button or history, complement server-provided options, though custom pages should avoid technical and user-blaming language to maintain and trust.
Custom 404 pages, like this Wikimedia example, often blend notification with recovery tools such as search prompts and links to minimize frustration.

Anomalies and Misuses

Soft 404 Errors

A soft occurs when a responds to a request with a successful HTTP 200 status code, yet the delivered page content signals that the requested resource does not exist, such as through messages like "Page Not Found," "No results found," or minimal placeholder text. This contrasts with a hard , where the explicitly returns a status code to indicate the absence of the resource. Common causes include server misconfigurations that default to 200 responses for error conditions, dynamic pages generating empty results (e.g., search queries yielding no matches), or systems serving thin or boilerplate pages without adjusting the status code. For instance, sites may display "No products found" on category pages with zero , or archived s might show generic "Content unavailable" notices under a 200 code. Search engines like identify soft 404s by analyzing response content for low-value indicators, such as short word counts under 15 or repetitive error phrases, even if the status code suggests success. Tools for detection include , which flags them in the "Pages" report under indexing issues, and crawlers like Screaming Frog that scan for 200-status pages containing keywords like "404" or "not found." These errors harm by wasting crawl budget, as engines allocate resources to seemingly valid but useless pages, potentially leading to deprioritization or exclusion from indexes. has explicitly discouraged soft 404s since at least 2008, improving algorithms to treat them akin to true errors for and indexing decisions. To mitigate, site owners should configure servers to issue or Gone codes for non-existent resources, implement redirects to relevant content, or enrich thin pages with substantial material if they serve a purpose.

Intentional 404 Responses

Servers may intentionally return an status code in place of a 403 Forbidden response for restricted to obscure their existence from unauthorized clients, thereby complicating efforts by . This approach leverages the semantic difference where 403 explicitly signals that a resource exists but access is denied, potentially aiding directory enumeration or targeted exploits, whereas 404 implies the resource was never present or cannot be located. The practice aligns with guidance in RFC 2616, which states that if a does not wish to disclose whether a condition is permanent, it should use instead of other codes like 410 Gone. Configuration examples include directives that rewrite 403 responses to via mod_rewrite or custom error handlers, avoiding disclosure of sensitive paths such as administrative directories or private files. In RESTful APIs, developers sometimes apply this for endpoints where confirming a resource's presence could enable brute-force attacks on identifiers, though it risks misleading legitimate clients expecting precise status semantics. Critics argue this constitutes , offering limited protection against sophisticated probes that fingerprint responses or exploit timing differences, and it may violate principles by conflating non-existence with denial. Nonetheless, it remains a pragmatic defense-in-depth measure in production environments, particularly for static assets or systems where full layers are absent, as evidenced by widespread adoption in hardening guides. Empirical data from audits shows it reduces low-effort scanning success rates, though no quantitative studies definitively prove superiority over strict 403 usage with proper .

Diagnostic Substatus Codes

Diagnostic substatus codes for HTTP 404 errors are proprietary extensions implemented in Microsoft Internet Information Services (IIS), providing granular details on the underlying cause of a resource not being found, which facilitates server-side diagnostics and troubleshooting. These codes, denoted as 404.x (where x is a numeric subcode from 0 to 20 or 501 to 504 for IP restrictions), are recorded in IIS log files—typically in W3C extended format at locations like %SystemDrive%\inetpub\logs\LogFiles—but are not part of the standard HTTP response sent to clients to maintain interoperability with the HTTP specification. Introduced in IIS 6.0 and expanded in later versions like IIS 7.0 and above, they reflect configuration issues, restrictions, or request malformations rather than simple file absence.
Substatus CodeDescription
404.0Not found: The file that you try to access is moved or doesn't exist.
404.1Site Not Found: The requested website doesn't exist.
404.2ISAPI or CGI restriction: The requested ISAPI resource or the requested CGI resource is restricted on the computer.
404.3MIME type restriction: The current MIME mapping for the requested extension type is invalid or isn't configured.
404.4No handler configured: The file name extension of the requested URL doesn't have a handler configured to process the request on the Web server.
404.5Denied by request filtering configuration: The requested URL contains a character sequence that is blocked by the server.
404.6Verb denied: The request is made by using an HTTP verb that isn't configured or that isn't valid.
404.7File extension denied: The requested file name extension isn't allowed.
404.8Hidden namespace: The requested URL is denied because the directory is hidden.
404.9Files attribute hidden: The requested file is hidden.
404.10Request header too long: The request is denied because the request headers are too long.
404.11Request contains double escape sequence: The request contains a double escape sequence.
404.12Request contains high-bit characters: The request contains high-bit characters, and the server is configured not to allow high-bit characters.
404.13Content length too large: The request contains a Content-Length header. The value of the Content-Length header is larger than the limit that is allowed for the server.
404.14Request URL too long: The requested URL exceeds the limit that is allowed for the server.
404.15Query string too long: The request contains a query string that is longer than the limit that is allowed for the server.
404.16WebDAV request sent to the static file handler: A WebDAV request wasn't processed by a WebDAV feature and was sent to the static file handler.
404.17Dynamic content mapped to the static file handler via wildcard MIME mapping.
404.18Query string sequence denied: The request contains a query string sequence that isn't allowed.
404.19Denied by filtering rule: The request was denied due to a Request Filtering rule.
404.20Too Many URL Segments: The request contains too many URL segments.
404.501Not found: concurrent request rate limit reached: Dynamic IP Restriction: too many concurrent requests were made from the same client IP.
404.502Not found: maximum request rate limit reached: Dynamic IP Restriction: the maximum number of requests from the same client IP within a specified time limit was reached.
404.503Not found: IP address denied: IP Restriction: the client IP address is included in the deny list.
404.504Not found: host name denied: IP Restriction: the client host name is included in the deny list.
Subcodes 404.0 through 404.20 generally address , , or filtering issues, while 404.501–404.504 pertain to Dynamic Restrictions modules for mitigating like DDoS attempts by rate-limiting or blocking IPs. Other web servers, such as or , may employ custom logging for similar diagnostics but do not use standardized substatus codes in responses or logs.

Monitoring and Optimization

Logging and Analytics Tools

Web servers such as and record HTTP 404 errors in their access logs, which typically include details like the requested , client , , and , enabling administrators to identify patterns such as broken internal links or external referrals to nonexistent resources. Tools like commands can extract these entries from log files for quick analysis, for instance, by filtering lines containing status and sorting for duplicates to pinpoint frequently requested missing pages. Analytics platforms facilitate deeper insights into 404 occurrences. 4 (GA4) automatically captures visits to pages as pageviews, allowing users to filter reports under "Pages and screens" for URLs or titles containing "404" or "not found," revealing traffic volume, referral sources, and geographic origins of s. For enhanced tracking, Google Tag Manager can configure custom events on pages to log additional parameters like the attempted , with data appearing in GA4 explorations after up to 48 hours. Privacy-focused alternatives like provide similar reports, aggregating error paths and bounce rates without personal data collection. Specialized monitoring tools extend logging capabilities for proactive detection. Amazon CloudWatch Logs processes server logs to count responses via metric filters, alerting on thresholds that may indicate crawling issues or probes, such as repeated requests for admin panels or exploits. Open-source analyzers like GoAccess parse or logs in real-time to visualize trends, while enterprise options such as Sematext offer machine learning-driven for high-volume sites. SEO-oriented plugins, including Rank Math for , maintain logs with options to redirect or notify admins, integrating with to cross-reference crawl errors reported since site submissions. Error monitoring services like capture 404s as exceptions if configured to log them, providing stack traces and user context for , particularly useful in dynamic applications where soft 404s mimic success codes. Crawling tools such as Ahrefs or scan sites externally to flag 404s, quantifying their SEO impact through lost backlinks or indexation failures, though internal logs remain essential for , server-side accuracy. These tools collectively aid in distinguishing benign errors from malicious scans, where unusual patterns—like requests for non-existent files—signal vulnerability testing, as observed in access logs from production environments.

Mitigation Strategies

Preventive measures to minimize HTTP 404 errors focus on robust management and proactive content handling. Websites should adopt consistent, descriptive URL structures that avoid frequent changes, as alterations without redirects lead to broken links when external sites or bookmarks reference obsolete paths. Implementing permanent redirects for moved or updated resources preserves search engine rankings and user access, transferring link authority to the new location while signaling the change is intentional. Regular updates to XML submitted to search engines like ensure crawlers prioritize valid pages, reducing indexing of erroneous URLs. Detection and correction rely on systematic monitoring integrated into website maintenance. Server access logs and tools such as track 404 occurrences, revealing patterns like high-volume requests to deleted pages from outdated backlinks. Automated crawlers, including Screaming Frog or Ahrefs, scan sites periodically to identify internal broken links, enabling bulk fixes via URL rewrites or content restoration. For large-scale issues, distinguishing between temporary glitches and permanent absences—using HTTP 410 Gone for intentionally removed resources—prevents resource waste on non-recoverable errors. Reactive handling emphasizes user retention through server-configured custom error pages. Web servers like or can be set to serve tailored 404 responses via .htaccess rules or error document directives, including search bars, category links, or breadcrumbs to guide users to relevant content. These pages should load quickly, avoid misleading status codes (e.g., no soft 404s returning 200 OK), and incorporate to log error paths for further investigation. In single-page applications (SPAs), client-side routing must fallback to server-side 404 logic to prevent default errors, ensuring consistent handling across environments.

Performance and SEO Impacts

HTTP 404 responses impose a measurable but typically minimal load on resources, as the server must process the incoming request, query for the resource's existence (often via or database checks), and generate an error response rather than serving full . This process consumes CPU cycles and memory, though less than a successful 200 response involving content rendering or dynamic generation. In high-volume scenarios, such as from crawler to outdated links or deliberate probing attacks, aggregated 404s can elevate overall server utilization, contributing to increased response latencies and potential throttling under resource constraints. Custom 404 pages with heavy assets like scripts or images exacerbate this by requiring additional bandwidth and rendering time on both server and client sides, potentially inflating page load metrics by 20-50% or more compared to lightweight errors. From an SEO perspective, has maintained since at least 2011 that isolated or occasional 404 errors do not directly penalize a site's rankings, viewing them as a normal outcome of site evolution rather than a quality signal. However, persistent or widespread 404s on large sites can erode budget efficiency, as bots expend requests on non-existent pages that yield no indexable value, diverting finite crawling resources from high-priority content and delaying updates to live pages. This inefficiency is particularly acute for sites with millions of URLs, where even a 1-2% error rate across indexed links may waste thousands of daily crawls, indirectly harming freshness and coverage in search results. User experience suffers too, with 404s correlating to higher bounce rates—often exceeding 90%—and reduced engagement signals that algorithms weigh in ranking decisions, though emphasizes fixing patterns of errors over zero-tolerance.

Broader Implications

Security Considerations

The HTTP 404 status code can facilitate attacks, as attackers exploit differences in responses to enumerate valid paths, directories, and resources on a target system. By systematically requesting potential URLs and observing 404 responses versus successful () or forbidden (403) ones, adversaries map directory structures through brute-force or directory traversal techniques, identifying exploitable endpoints. Elevated volumes of 404 errors in server logs often signal automated scanning by bots or vulnerability probes, enabling defenders to detect and mitigate intrusions early. Security teams analyze access logs for patterns, such as repeated requests from single IPs to non-existent paths like /admin, /wp-login.php, or common exploit strings, which indicate reconnaissance or attempts to locate misconfigurations. Returning 404 for existing but unauthorized resources—known as —aims to conceal their presence, reducing targeted attacks on sensitive areas like administrative panels, though this deviates from HTTP semantics where 403 better denotes prohibition. This practice, while common in some implementations to thwart , risks confusing legitimate users and may violate standards like RFC 9110, which defines 404 strictly for absent resources. In RESTful APIs, indiscriminate 404 responses to invalid identifiers (e.g., user IDs) enable attacks, where attackers infer valid entities by distinguishing "not found" from other errors, potentially exposing database schemas or user lists. Best practices recommend uniform error handling, such as consistent for all invalid requests or using for malformed inputs, to minimize information leakage without over-relying on obscurity. Floods of fabricated requests triggering 404s can constitute a low-level denial-of-service , inflating sizes, consuming CPU for response generation, and obscuring genuine traffic, particularly if custom error pages involve heavy processing. involves , firewalls to block anomalous patterns, and efficient static 404 handlers.

Cultural and Meme Influence

The HTTP 404 error code has permeated as a symbol of digital absence and frustration, often repurposed for humor in custom error pages designed by websites to mitigate user disappointment. Since the early , developers have transformed bland "page not found" responses into interactive experiences, including animations, mini-games, and witty messages, with examples documented across hundreds of sites like MailChimp's astronaut-themed page urging users to "try searching" and Bitly's link-shortener . These adaptations reflect a causal response to the error's ubiquity—estimated to affect billions of annual requests—turning technical into branded engagement, as evidenced by lists compiling over 50 such creative implementations from companies including and . In pop culture integrations, platforms like randomize 404 responses with movie quotes, such as "Always remember, Frodo, the page is trying to get back to its master" from , blending error handling with cinematic references to entertain users since at least 2013. Similarly, other sites draw on themes like or puzzles, with over 30 notable examples featuring pop culture nods, including videos or character cameos, to redirect traffic rather than lose visitors. This practice underscores 404's evolution from a CERN-originated protocol (dating to 1992) into a template for "not found" scenarios, influencing norms where humor offsets the 10-20% typical from errors. Annually on April 4—designated 404 Day—online communities celebrate the code by generating and sharing memes, such as image macros depicting "404: Motivation not found" or absurd scenarios of lost content, amplifying its role in viral humor. These memes extend 404's legacy into broader digital folklore, as noted in analyses tracing its path from technical quirk to "online legend" in meme culture, where it symbolizes elusive information amid the web's vastness. Empirical tracking via tools like Google Analytics shows such meme-infused pages reduce abandonment by up to 15% compared to standard errors, validating their cultural efficacy.

Debates on Error Code Efficacy

The HTTP 404 status code has faced scrutiny for its semantic ambiguity, as its definition in RFC 7231 allows servers to return it not only when a resource truly does not exist but also when they are unwilling to disclose its existence, potentially for security reasons. This flexibility, while practical, has led critics to argue that it undermines clear communication in machine-readable contexts like , where 404 can conflate temporary unavailability with permanent non-existence, complicating client-side error handling. For instance, in ful API design discussions, developers contend that using 404 for missing data within an existing —rather than reserving it for nonexistent endpoints—violates REST principles and forces clients to parse response bodies for clarification, reducing efficacy. Proponents of 404's efficacy emphasize its role in signaling to user agents and search engines that a resource is unavailable, enabling appropriate caching and crawling behaviors without misleading redirects. However, debates highlight misuse cases, such as "soft 404s" where servers return 200 OK with empty or error-like content, which has criticized for wasting crawler resources and eroding trust in the protocol's status codes. Alternatives like are proposed for permanently deleted resources to provide stronger semantic intent, though adoption remains low due to concerns; data from logs shows 410 usage at under 1% of error responses compared to 404's dominance. In user experience contexts, while custom 404 pages mitigate frustration by offering search suggestions or navigation aids, the code's efficacy is questioned for non-technical users who may ignore it entirely, prompting calls for more descriptive client-side rendering or protocol-level enhancements like structured error payloads in HTTP/2 and beyond. Empirical studies on SEO impacts reveal no direct ranking penalties for sporadic 404s, but persistent high volumes signal site neglect, indirectly harming efficacy by deterring investment in maintenance. Overall, while 404 remains a cornerstone of HTTP for its simplicity and universality—handling billions of daily responses—ongoing discussions in developer forums advocate refining guidelines to curb overuse, asserting that its effectiveness hinges on precise implementation rather than inherent flaws.

References

  1. [1]
    RFC 9110: HTTP Semantics
    Since HTTP/1.0 did not define any 1xx status codes, a server MUST NOT send a ... status code 404 (Not Found) ought to be used instead.¶. The 410 ...
  2. [2]
    RFC 1945 - Hypertext Transfer Protocol -- HTTP/1.0 - IETF Datatracker
    The Hypertext Transfer Protocol (HTTP) is an application-level protocol with the lightness and speed necessary for distributed, collaborative, hypermedia ...
  3. [3]
    404 Not Found - HTTP - MDN Web Docs - Mozilla
    Jul 4, 2025 · The HTTP 404 Not Found error means the server can't find the requested resource, without indicating if it's temporary or permanent.
  4. [4]
  5. [5]
  6. [6]
  7. [7]
    HTTP Status Code Overview - Internet Information Services
    Jan 8, 2025 · 4xx (Client Error): The request contains an error and can't be fulfilled. 5xx (Server Error): The server failed to fulfill the request. Log file ...<|separator|>
  8. [8]
  9. [9]
  10. [10]
  11. [11]
  12. [12]
  13. [13]
  14. [14]
  15. [15]
    HTTP/0.9 explained
    Aug 2, 2023 · HTTP/0.9 was the original, simple HTTP protocol, using only GET requests, HTML responses, no headers, and no status codes.
  16. [16]
    Evolution of HTTP - MDN Web Docs
    HTTP (HyperText Transfer Protocol) is the underlying protocol of the World Wide Web. Developed by Tim Berners-Lee and his team between 1989-1991.
  17. [17]
    HTTP/0.9, HTTP/1.0, HTTP/1.1, Keep-Alive, Upgrade, and HTTPS
    Nov 17, 2017 · Both HTTP/0.9 and HTTP/1.0 required to open up a new connection for each request (and close it immediately after the response was sent). Each ...
  18. [18]
    Hypertext Transfer Protocol -- HTTP/1.0 - W3C
    Leading zeros should be ignored by recipients and never generated by senders. This document defines both the 0.9 and 1.0 versions of the HTTP protocol.Overall Operation · HTTP Version · http URL · Status Code and Reason Phrase
  19. [19]
    Page Not Found: A Brief History of the 404 Error - WIRED
    Dec 4, 2017 · In the early 2000s, the idea bubbled up that the 404 came from, well, room 404; that this room housed the web's first servers, at CERN (the ...
  20. [20]
  21. [21]
  22. [22]
  23. [23]
  24. [24]
  25. [25]
  26. [26]
    HTTP/1.1: Status Code Definitions
    If the server does not know, or has no facility to determine, whether or not the condition is permanent, the status code 404 (Not Found) SHOULD be used instead.
  27. [27]
    RFC 9110: HTTP Semantics
    Summary of each segment:
  28. [28]
    404 Not Found - HTTP status code explained
    Aug 2, 2023 · The 404 Not Found HTTP status code indicates a resource can't be found, often due to a dead link or misspelled address.
  29. [29]
    What is a 404 Error: Meaning, Causes, How To Fix, & FAQs
    Jul 8, 2025 · It commonly occurs when you mistype a web address, click a broken link, or the content has been moved or deleted from the server.What are the common causes. · How to fix a 404. · Why does a custom 404.
  30. [30]
    HTTP error 404 file not found on a server - Microsoft Learn
    HTTP 404 error means the server can't retrieve the requested page. This can be due to the file being renamed, moved, deleted, temporarily unavailable, or not ...Symptoms · Cause
  31. [31]
    Understanding the 404 Not Found Error: Causes and Solutions
    Oct 13, 2024 · Mistyped URLs. One of the most frequent causes of a 404 error is simply mistyping the URL. · Deleted or Moved Content · Incorrect Links · Server ...Common Causes Of 404 Errors · 404 Errors In Api Calls · Monitoring Api Calls<|separator|>
  32. [32]
    Is it correct to return 404 when a REST resource is not found?
    Nov 10, 2014 · 404 means either a badly constructed URI or a reference to a non-existent resource. Another problem arises when you have a URI that references multiple ...Using HTTP-response code 404 as a response to indicate that a ...What is the proper REST response code for a valid request but ...More results from stackoverflow.com
  33. [33]
    When to use HTTP status code 404 in an API
    Jul 2, 2013 · 404 Not Found - The requested resource could not be found but may be available again in the future. Subsequent requests by the client are ...
  34. [34]
    How to Interpret and Troubleshoot Error HTTP 404
    Dec 11, 2023 · This may occur because the URL is mistyped, the content has been deleted, or the file path has been altered without proper redirect rules in ...
  35. [35]
    CommonMisconfigurations - HTTPD - Apache Software Foundation
    ### Summary of Misconfigurations Causing 404 Not Found Errors
  36. [36]
    Fix the XAMPP HTTP Error 404 “The Requested Resource Is Not ...
    Oct 1, 2025 · Be Sure You Typed the URL Correctly · Check Your .htaccess File · Deactivate and Uninstall New Plugins · Check Your Database for Changes · Check ...
  37. [37]
    404 Not Found Nginx: A Comprehensive Troubleshooting Guide
    One of the most common causes of the 404 Not Found in Nginx error is a misconfigured server block. Make sure you're pointing Nginx to the correct document root ...What is 404 Not Found Nginx? · Impact of the Error 404 Not...
  38. [38]
    404 error on Apache (18724) | Linode Questions
    Aug 29, 2019 · A 404 error might be caused by a virtualhost configuration issue. (For example: if the document root is set to a directory that doesn't exist.)
  39. [39]
    How to debug an Apache 404? - Server Fault
    Sep 13, 2019 · The first thing to check is the output of apachectl -S. It shows which IP is listening on which port and for which virtual host.Missing: misconfigurations | Show results with:misconfigurations
  40. [40]
    IIS 10 URL Rewrite giving 404 error - Server Fault
    Jul 6, 2021 · The 404 error occurred because the wildcard pattern wasn't detected properly. Using regex instead of the wildcard resolved the issue.
  41. [41]
    IIS configuration for URL rewrite throwing Http404 error
    Aug 23, 2019 · Try changing your {REQUEST_URI} to {R:1} might solves this. {R:x} is used as back reference from the rule pattern (). Works on my machine.
  42. [42]
    The Very Common Mistakes When Using IIS URL Rewrite Module
    Sep 5, 2018 · Identifying and fixing common mistakes made when configuring IIS URL Rewrite module, including incorrect URL matching, rewrite vs. redirect ...
  43. [43]
    URL Rewrite keeps returning 404 Error - Stack Overflow
    Jun 27, 2014 · First, make sure a file exists named /article/index.php and then give this a try: RewriteEngine On RewriteBase / # Condition: the requested ...
  44. [44]
    URL Rewrite giving 404 - iis - Stack Overflow
    Jun 24, 2020 · URL Rewrite gives 404 because it only redirects to the same domain by default. To redirect to another website, install the Application Request ...
  45. [45]
    How to Fix 404 Errors Issues on Your Magento - growth-onomics
    Sep 9, 2025 · Common causes of 404 errors on Magento include incorrect URL rewrites due to outdated or conflicting rewrite rules, missing or corrupt .htaccess ...<|control11|><|separator|>
  46. [46]
    How to Fix 404 Errors on SPAs - Prerender.io
    Jan 26, 2024 · A 404 page not found error occurs for various reasons, such as mistyped URLs, broken links, or deleted content.Missing: generation | Show results with:generation
  47. [47]
    How to Track 404 Errors with Google Analytics 4 [2024 Guide]
    5) Dynamic Content Generation: Content management systems (CMS) or dynamic websites may generate URLs dynamically, leading to URL structures that change over ...<|separator|>
  48. [48]
    URLs rewritten with IIS with 'URL Rewrite' get 404 - Stack Overflow
    Jun 28, 2023 · I'm working on Windows Server 2022 (EC2) and set IIS(10.0.20348.1) with URL Rewrite and ARR. The server has web pages(html and JavaScript) and Flask ...
  49. [49]
    IIS Url Rewrite returns 404 error - Stack Overflow
    Apr 24, 2015 · There is only one rewrite rule in play here, yet while the second URL is rewritten and returned correctly, the first on yields a 404 error. I ...
  50. [50]
  51. [51]
    RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1) - IETF Datatracker
    This document defines the semantics of HTTP/1.1 messages, as expressed by request methods, request header fields, response status codes, and response header ...RFC 9110 · RFC 7234 · RFC 7230 · RFC 7235
  52. [52]
    Custom Error Responses - Apache HTTP Server Version 2.4
    Customized error responses can be defined for any HTTP status code designated as an error condition - that is, any 4xx or 5xx status.
  53. [53]
    Module ngx_http_core_module - nginx
    For external requests, the client error 404 (Not Found) is returned. Internal requests are the following: requests redirected by the error_page, index, ...error_page · internal · listen · location
  54. [54]
    Adding HTTP Errors <error> - IIS - Microsoft Learn
    Apr 6, 2022 · In the Add Custom Error Page dialog box, under Status code, type the number of the HTTP status code for which you want to create a custom error ...
  55. [55]
    nginx proxy_pass 404 error, don't understand why - Stack Overflow
    Apr 22, 2013 · I am trying to pass off all calls to /api to my webservice but I keep getting 404s with the following config. Calls to / return index.html as expected. Does ...Nginx redirect reverse proxy 404Why do I get 404 on nginx reverse proxy?More results from stackoverflow.com
  56. [56]
    HAProxy returns 404 sometimes even though the backend server is ...
    Feb 22, 2025 · Haproxy never generates 404 errors. Common errors that haproxy emits are in the 5xx range, when backend servers cannot be reached, etc, but not 404.
  57. [57]
    Troubleshoot issues with external Application Load Balancers
    Cloud Run: In case of a URL mask mismatch, the load balancer returns an HTTP error 404 (Not Found). Cloud Run functions: In case of a URL mask mismatch, the ...
  58. [58]
    AWS Load Balancer 404 Error with Path Routing - Stack Overflow
    Dec 26, 2018 · I have three target groups configured against a single ECS Instance, however when I call one of the specific paths on the ALB, I just get a 404.Why does GCE Load Balancer behave differently through the ...NGINX and load balancing with 404 error - Stack OverflowMore results from stackoverflow.com
  59. [59]
    Is it possible to proxy cache ONLY 404 (or other) html status codes?
    May 16, 2012 · With nginx, latest, is it possible to proxy cache ONLY specific html status code responses? We use 410 status codes for some responses. These are checked ...different proxy_cache_min_use value for different status codesHow do I add no-cache headers to all 404 pages served by apache ...More results from serverfault.com
  60. [60]
    Cache HTTP Error Responses - Akamai TechDocs
    Error responses with HTTP codes 204, 305, 404, 405, and 501 are cached for 10 seconds, and this feature allows you to modify the caching time.
  61. [61]
    Error pages | HAProxy config tutorials
    You can intercept error responses from backend web servers and replace them with your custom error pages. In your load balancer configuration, add an http- ...
  62. [62]
    Serve 404 from HAProxy when no acls match - Server Fault
    Apr 5, 2013 · I'm currently re-configuring HAProxy using 1.5dev-17. What I'd like to do is return a 404 error when there is no backend to use for a particular request.Use haproxy to redirect when 404 from the backend - Server Faulthttp status 404 error while using acl path beg in haproxy?More results from serverfault.com
  63. [63]
    Health check showing 404 error - Help! - HAProxy community
    Dec 19, 2018 · I am using haproxy 1.7.9 to do load balancing for my web server. I am facing issue with back-end heath check. It is showing 404 error but i can ...Unexpected behaviour disable-on-404Http to https site with balancingMore results from discourse.haproxy.org
  64. [64]
    Troubleshoot issues with internal Application Load Balancers
    If the URL map doesn't have a path matcher defined for a request, it cannot select a backend service, so it returns an HTTP 404 (Not Found) response code. Load ...
  65. [65]
    Troubleshoot your Application Load Balancers - AWS Documentation
    The load balancer generates an HTTP error · HTTP 400: Bad request · HTTP 401: Unauthorized · HTTP 403: Forbidden · HTTP 405: Method not allowed · HTTP 408: Request ...
  66. [66]
    Server returns 404 for a web page, but page is showing fine in browser
    May 31, 2017 · the server wrongly returns a 404 status code · the browser thinks the response body contains details about the error and displays it - for the ...How to detect on-page 404 errors using JavaScript? - Stack OverflowDo 404 errors impact performance? - Stack OverflowMore results from stackoverflow.com
  67. [67]
    Five Ways To Fix 'Error 404: The Requested URL Was Not Found ...
    Dec 1, 2023 · Firefox browsers display a “404 page not found” error. Google Chrome shows, “This page was not found.” Safari browsers sometimes display “Safari ...
  68. [68]
    Avoiding 404 errors with Single-Page Apps | oliverjam.com
    Jun 11, 2021 · The solution is to tell your server to respond with the index.html for any route. Since that page contains all the client-side JS to render any other pages.Missing: HTTP | Show results with:HTTP
  69. [69]
    Fallbacks for HTTP 404 images in HTML and JavaScript - Sentry Blog
    Dec 14, 2023 · Another way to provide an image fallback is to hook into the HTMLElement onerror event. This fires on an element when a resource fails to load, ...Missing: side | Show results with:side
  70. [70]
    HTTP 404 for REST calls from client side (browsers)
    Aug 6, 2019 · The problem is that browsers tend to treat 404s as actual errors before the request even reaches the app code, which pollutes the console and hides real 404s.When to use HTTP status code 404 in an APIShould I use HTTP status codes to describe application level eventsMore results from softwareengineering.stackexchange.com
  71. [71]
    Improving the Dreaded 404 Error Message - NN/G
    Jun 14, 1998 · If your Web server supports customized 404 error pages, then the recommended actions are: design a customized 404 error page for your site ...
  72. [72]
    How to Optimize Custom 404 page – Best Practices - Netpeak Journal
    Nov 27, 2024 · How to configure a 404 page? · Create a 404 HTML page. · Place the .htaccess file on the hosting in the root directory of the site. · The 404 page ...
  73. [73]
    404 pages: Best practices and examples from 50+ brands
    Jan 19, 2024 · Check out real-world examples and FAQs to help you create useful 404 pages that align with UX best practices.<|separator|>
  74. [74]
    which is better, a 404 error page or redirecting to the front page
    Aug 4, 2010 · A 404 Error serves a purpose: to tell the user that the page was not found. Redirecting to the front page suggests that's where the link was supposed to go.
  75. [75]
    19 Best 404 Page Examples to Reclaim Lost Visitors - SeedProd
    Jul 1, 2025 · 11 Best 404 Page Examples from Real Brands · 1. Lego – On-Brand Humor with a CTA · 2. Slack – Scrollable Interactive Experience · 3. Mantra Labs – ...
  76. [76]
    Make your 404 pages more useful | Google Search Central Blog
    Aug 19, 2008 · If you've created a custom 404 page this allows you to embed a widget in your 404 page that helps your visitors find what they're looking for by ...<|separator|>
  77. [77]
    Designing a Unique 404 Error Page for Your WordPress Site
    Sep 25, 2024 · This article will walk you through the basics of 404 errors and how to create a custom 404 page in WordPress.
  78. [78]
    Do 404 Errors Matter in SEO? Best Practices and Google Insights
    Jun 16, 2025 · 404 error pages are pretty common across the web. However, can the existence of pages with 404 errors can harm your SEO. Read to know more.
  79. [79]
    10 examples of custom 404 pages ranked from best to worst
    May 26, 2020 · 404 errors occur when someone attempts to visit a URL on your website that doesn't exist. It's not fun to see a 404 error, but it will happen.<|separator|>
  80. [80]
    What We Learned From Great 404 Error Pages - WooRank
    We are going to sum up the basics about error 404 and learn best practices and tips illustrated with a few inspiring examples.
  81. [81]
    How to fix error 404 not found - Hostinger
    Jan 18, 2025 · How to fix error 404 not found · 1. Perform basic troubleshooting · 2. Use Hostinger AI Troubleshooter · 3. Check domain DNS settings · 4. Fix file ...
  82. [82]
    The 101 Course On Crafting 404 Pages - Smashing Magazine
    Nov 1, 2018 · A 404 page should do more than apologize for poor navigation on behalf of your website. There are some 404 pages that go above and beyond.1. Nail Down The Overall... · 3. Nail Down The Navigation... · How To Track 404 Events...<|control11|><|separator|>
  83. [83]
    404 Page Best Practices – Top 5 UX/UI Design Tips - UXPin
    Mar 29, 2023 · Best practices include error prevention, keeping it simple, maintaining brand consistency, and using header navigation, error title, and ...What is the Purpose of a 404... · error history · Custom 404 Page Best Practices
  84. [84]
    Best practices to design a 404 error page - UX Stack Exchange
    Sep 22, 2015 · What are the best practices in designing a 404 error page? I read so many blogs and articles regarding this. Some says about using fancy images, when some days ...Is it worth having custom 404 pages for different features of a web ...Benefit of custom 404 error screens on website - UX Stack ExchangeMore results from ux.stackexchange.com
  85. [85]
    Best Practices For Brilliant 404 Pages - Cludo
    An analysis of 4 varied error pages to help educate marketers and webmasters on the best practices and value of great 404 error page design.1. The Standard 404 (what... · 2. Airbnb's 404 Page · 3. Wistia's 404 Page
  86. [86]
    What Are Soft 404s and How to Fix Them - Neil Patel
    Soft 404s can be caused by misspellings in URLs, by outdated links, or by problems with the server. When it's a soft 404 error, the error is conveyed to website ...Can Soft 404 Errors Impact My... · What Problems Can Soft 404s...
  87. [87]
    Issues - Content : Soft 404 Pages - Screaming Frog
    These pages are identified by looking for common error text used on pages, such as 'Page Not Found', or '404 Page Can't Be Found'.
  88. [88]
    404 vs. Soft 404 Errors: What's The Difference & How To Fix Both
    Oct 27, 2022 · 404 and soft 404s are different kinds of problems that require different approaches to diagnosing and fixing them.
  89. [89]
    Hard 404 Error vs. Soft 404 Error: What's the Difference?
    Sep 23, 2024 · Hard 404: The server responds with a 404 status code indicating that the page does not exist. · Soft 404: The server responds with a 200 OK ...
  90. [90]
    What Is A Soft 404 Error And How It Affects Your Website - Positional
    Soft 404 errors, while sometimes confused with hard 404s, can cripple your website's SEO performance by mismanaging how non-existent or sparse pages are handled ...
  91. [91]
    What Are Soft 404 Errors and How To Fix Them (5 Easy Ways)
    Dec 16, 2021 · The main difference is the status code. Hard 404s have a 404 or 410 status code, implying that page cannot be found. Soft 404s have a 200 OK ...
  92. [92]
    What is a soft 404 error and what to do about it? - Yoast SEO
    Jun 27, 2019 · A soft 404 error happens when the server sends a 200 OK status for the requested page, but Google thinks that the page should return a 404. It ...Missing: hard | Show results with:hard
  93. [93]
    Farewell to soft 404s | Google Search Central Blog
    We discourage the use of so-called soft 404 because they can be a confusing experience for users and search engines.
  94. [94]
    What Are Google Soft 404 Errors (and How to Fix Them) - WP Rocket
    Jun 19, 2025 · Ecommerce sites often contain dynamically generated pages and content that can throw up soft 404 errors when product lines sell out or are no ...
  95. [95]
    Soft 404 Error: Causes, Effects on SEO, and Solutions - Atomseo
    Soft 404 can negatively impact SEO in several ways: 1.Wasted Crawl Budget: Search engines allocate a specific number of pages they will crawl on your site ...
  96. [96]
    Returning the wrong HTTP response code on purpose?
    Feb 8, 2017 · Returning 404 instead of 401 is permissible so as not to leak information about resource existence to unauthorized clients.
  97. [97]
    What is the reason behind marking forbidden pages as 404?
    Jun 16, 2015 · Forbidden pages are marked 404 for "security through obscurity," to hide the resource's existence, as 403 indicates the resource exists.
  98. [98]
    When Should You Return 404 Instead of 403 HTTP Status Code
    Apr 14, 2015 · Return 404 instead of 403 when you want to hide the existence of a resource, as 403 indicates the resource exists, and 404 hides the reason for ...
  99. [99]
    Handling Forbidden RESTful Requests: 401 vs. 403 vs. 404
    Jul 19, 2012 · If the server does not wish to make this information available to the client, the status code 404 (Not Found) can be used instead. That last ...
  100. [100]
    Apache: return 404 instead of 403 w/ mod_access - Server Fault
    Sep 1, 2010 · I'm trying to avoid mod_rewrite: is there a way I can make unathorized IPs just see a 404 instead of a 403, which is HTTP code for "THERE'S TOP SECRET STUFF ...nginx 404 instead of 403 for empty directory - Server FaultApache Options -Indexes give me 404 instead of 403, why?More results from serverfault.com<|control11|><|separator|>
  101. [101]
    Always return a 404 when you decide to return a 403 - Stack Overflow
    May 9, 2012 · A good way to solve this is to return 404 Not Found from the document you use to handle 403 errors.Access denied: 403 or 404?Denying via 404 instead of 403 - apacheMore results from stackoverflow.com
  102. [102]
    Hands off that resource, HTTP status code 401 vs 403 vs 404
    May 5, 2021 · The 404 (Not Found) status code indicates that the origin server did not find a current representation for the target resource or is not willing ...
  103. [103]
    My Server is returning a 404 instead of 403 when access if forbidden
    Apr 5, 2014 · The 403 is expected, but the 404 is likely due to a missing error page. It's not inherently bad, but not ideal, and can hide the existence of ...Should I use a 404 or a 403 error for secure contenthtaccess - How could I forcibly output the default 403-forbidden error ...More results from webmasters.stackexchange.com
  104. [104]
    How Attackers Use HTTP Status Codes for Malicious Purposes
    Nov 7, 2024 · By utilizing directory traversal or brute-force attacks based on 404 responses, attackers can trace out the server's directory structure.
  105. [105]
    IIS Status Code Descriptions - Broadcom support portal
    Apr 8, 2025 · IIS status codes are numeric codes indicating request status, recorded in logs, and can show if a request is successful or unsuccessful.
  106. [106]
    What are the 404;1, 404;2 etc HTTP error codes for? - Stack Overflow
    Nov 6, 2008 · The IIS sub-status codes for a 404 error are as follows (source: HTTPS status codes in IIS (for IIS 7.0 and later versions): 404.0 Not found ...IIS hosted page returns HTTP Error 404 when accessedWhy does IIS 7.0 return invalid HTTP status codes? - Stack OverflowMore results from stackoverflow.com
  107. [107]
    Apache log analysis: Finding the causes of 404s - ManageEngine
    You can use the grep command to find the 404 errors. The following command can be used to identify and extract the URL, identify the duplicate lines, and sort ...
  108. [108]
    Troubleshoot with Apache Logs - The Ultimate Guide To Logging
    A 404 error is defined as a missing file or resource. Looking at the request URI will tell you which one it is. You can then check your deployment to make sure ...
  109. [109]
    How to Track, Find and Fix 404 Errors in GA4 (Google Analytics 4)
    Yes. GA4 automatically tracks 404 error responses. You can quickly access this data by searching for your error page in the Pages and screens report section.
  110. [110]
    Google Analytics 404 Report: How to Monitor, Find and ... - Databox
    May 29, 2024 · Google Analytics 404 reports will help you identify user activity that has led to unforeseen situations, allowing you to deal with it in a timely fashion.Google Analytics 404 Report... · How To Track 404 Errors In... · How To Check 404 Errors In...
  111. [111]
    Track and View 404 Errors with Google Analytics 4
    Mar 30, 2025 · If you just implemented and published 404 error tracking in Google Analytics 4, you will have to wait for up to 48 hours to see the data.
  112. [112]
    How to find 404 error pages on your website using web analytics
    Dec 4, 2020 · Here's a closer look at how to find 404 page not found errors on your website and fix those broken links with the help of your web analytics tool.
  113. [113]
    Example: Count HTTP 404 codes - Amazon CloudWatch Logs
    Using CloudWatch Logs, you can monitor how many times your Apache servers return a HTTP 404 response, which is the response code for page not found.
  114. [114]
    Detecting Web Attacks via 404 Errors in Your Logs - Trunc
    Sep 13, 2022 · In this article we'll explore 404 warnings in your web access logs and how they can be used to identify potential security issues.Missing: common | Show results with:common
  115. [115]
    10 Best Apache Log Analyzer Tools: Free & Paid [2023] - Sematext
    Mar 19, 2025 · Discover the best log analysis tools for Apache web servers. Pros & cons comparisons of free, open source, and paid platforms.<|separator|>
  116. [116]
    How to Monitor 404 Errors with Rank Math SEO Plugin
    Rank Math's 404 Monitor can save you from all sorts of SEO trouble. Below, we will show you how to set up and monitor your 404 errors using Rank Math.How to Monitor 404 Errors... · Advanced 404 Monitor · Monitor Settings
  117. [117]
    Looking for monitoring software to detect and alert errors on subpages
    Jan 12, 2025 · Sentry is a tool that helps with the errors and real time alerts. 404s will be detected if you log that as an error aswell ...Tool to find 404 Errors - SEO - RedditMonitor site for 500 or 404 errors, but site relies on IP address locationMore results from www.reddit.com
  118. [118]
    How to Monitor 404 Errors After a Website Redesign
    Jun 6, 2025 · Good tools for this include SEMrush and Ahrefs. Error Monitoring: Use live error monitoring tools or plug-ins to catch page errors fast. If ...
  119. [119]
    A Guide to Preventing 404 Errors on Your Website - Miolo
    Apr 3, 2024 · Regularly Audit and Update Links · Implement Proper Redirects · Customize 404 Error Pages · Monitor Website Changes · Utilize Proper URL Structure.Customize 404 Error Pages · Monitor Website Changes · Utilize Proper Url Structure<|separator|>
  120. [120]
    Best Practices: How to Fix 404 Errors on Your Website Quickly ...
    Fixing 404 errors quickly is vital, with strategies including correcting broken links, setting up 301 redirects for moved or deleted content, regularly updating ...
  121. [121]
    Stop misleading users and Google (Fix your 404 errors the right way)
    Mar 9, 2025 · Use 301 redirects for moved content, leave 404/410 for permanently gone content. Avoid redirecting all 404s to the homepage. Use 410 for ...
  122. [122]
    404 Error: What It Is, SEO Impact, How to Find and Fix 404s
    Aug 1, 2025 · Monitor and fix 404s: Use tools like Google Search Console and Screaming Frog to regularly check for broken links.
  123. [123]
    404 vs 500 Errors: Difference, SEO Impact and Resolving Tips
    4. Best Practices for Handling and Resolving 404 and 500 Errors · 1. Implement Custom 404 Pages: · 2. Use 301 Redirects: · 3. Monitor and Fix Broken Links: · 4.
  124. [124]
    Effectively Managing 404 Errors on the Server Side in SPAs - Medium
    Jun 27, 2024 · In this article, we will discuss how to effectively manage 404 errors on the server side in your SPAs, with step-by-step explanations and code examples for ...
  125. [125]
    Can 404 errors be called as wasted computation power ? Can a lot ...
    Dec 18, 2015 · 404 is low use of ressources for the server: server check if the requested file exist, if not it throw 404 error page.
  126. [126]
    Do 404 errors impact performance? - Stack Overflow
    Nov 3, 2012 · Every 404 is still an http request/response transaction. Of course "tons" of these would impact performance, whether you're talking about server time, browser ...Will broken css/image link 404 errors affect server performance ...REST API 404: Bad URI, or Missing Resource? - Stack OverflowMore results from stackoverflow.com
  127. [127]
    Why you should be testing your 404 pages web performance
    Aug 25, 2020 · Using the browser developer tools it is possible examine and optimise the caching strategy used on your 404 page. There's two types of caching ...
  128. [128]
    Do 404 errors hurt my site? | Google Search Central Blog
    May 2, 2011 · Q: So 404 errors don't hurt my website at all? A: If some URLs on your site 404 , this fact alone does not hurt you or count against you in ...
  129. [129]
    Crawl Budget Management For Large Sites | Google Search Central
    This guide describes how to optimize Google's crawling of very large and frequently updated sites.
  130. [130]
    404 Errors Wasting Your Crawl Budget? Here's How to Fix It - LinkedIn
    Apr 2, 2025 · 404 errors can have a significant impact on SEO and website performance in the following ways: Wasted Crawl Budget: Search engine bots may ...
  131. [131]
    What are 404 Errors? 4xx Codes and Their Impact on SEO - Conductor
    Jan 15, 2025 · Are 4xx codes bad for SEO? Yes and no. Google understands that all websites are going to contain 400-level errors. If a website contains some ...<|separator|>
  132. [132]
    data leakage - HTTP Status Codes - security considerations
    Apr 15, 2014 · 403 says that the resource exists but the user is not authorized to access it. And 404 says that there resource was not found (even if it is there but the ...Which HTTP status codes are interesting from a security point of view?What are the security issues of being able to put anything into a ...More results from security.stackexchange.com
  133. [133]
    Suspected bots causing 404 errors - Really Simple Security
    Jun 11, 2024 · On the contrary, bots and automated scanning tools tend to generate high volumes of 404 errors when they scan websites for vulnerabilities.Missing: HTTP considerations
  134. [134]
    Is it OK to give status 404 to unauthorized users?
    Jun 19, 2015 · 404 should be used when the resource do not exist, is not that you're not authorized, it is not there at all. 403 should be for forbidden resources.Massive 404 attack with non existent URLs. How to prevent this?404 page echoing request URI - security risk?More results from webmasters.stackexchange.com
  135. [135]
    404 status code and its double meaning on a common-almost-restful ...
    Oct 12, 2013 · A correct 404 that means "Resource not found, but you can try again in the future". · A incorrect usage of the api that means "No resource will ...
  136. [136]
    How should I deal with 404 error attacks? - SSL / TLS
    Nov 4, 2024 · We're being attacked from different IP addresses with bad URLs, flooding the site metrics with 404 errors.Missing: considerations | Show results with:considerations
  137. [137]
    62 Funny 404 Pages | Adrian Martinez
    A 404 error occurs when a user requests a web page that doesn't exist. To get your website design juices flowing, here are funny 404 pages.
  138. [138]
    19 Funny IMDb 404 Error Pages Based on Movie Quotes - Pixel77
    We've made a list with all of IMDb's 404 error pages, so you will not have an excuse to procrastinate over the next few minutes.
  139. [139]
    Top 40 examples of an engaging 404 page | On Digitals
    Jul 31, 2023 · With this article, On Digitals will present you 40 prime examples for a funny and engaging 404 page.
  140. [140]
    404 Day (April 4th) | Days Of The Year
    Aug 5, 2024 · Create and Share 404 Memes. Get creative with 404 error memes. Use popular meme formats to highlight the silliness of excessive internet ...Missing: HTTP | Show results with:HTTP
  141. [141]
    Why the 404 Error Became the Most Famous Fail on the Internet ...
    From the dawn of the internet to meme culture, the 404 Error became an online legend. In this video, we break down the quirky history of the 404, why it's ...
  142. [142]
    Should APIs use 404 as an error code? | by Ted Spence - Medium
    Sep 23, 2021 · The definition of the 404 error can be traced back to the earliest web standards including RFC 1945, which is part of the IETF's standards ...
  143. [143]
    Google Warns Of Soft 404 Errors And Their Impact On SEO
    Jun 28, 2024 · Soft 404 errors mislead web crawlers, wasting resources. Proper HTTP status codes are crucial for efficient crawling. Addressing soft errors can ...
  144. [144]
    What is the proper REST response code for a valid request but ...
    Jul 31, 2012 · A 404 response is cacheable by default; i.e., unless otherwise indicated by the method definition or explicit cache controls (see Section 4.2.2 ...
  145. [145]
    I've been abusing HTTP Status Codes in my APIs for years
    Jul 13, 2022 · >The 404 (Not Found) status code indicates that the origin server did not find a current representation for the target resource or is not ...
  146. [146]
    Are 404 Errors a Google Ranking Factor? Complete 2025 Analysis
    Google's official documentation confirms that the presence of 404 errors on a site does not negatively impact the rankings of other pages that return ...
  147. [147]
    Are 404s really bad, in some cases they seem to be a better choice ...
    Mar 5, 2020 · 404 errors ate not "bad" for SEO and they definitely don't lead to any sort of penalty - pages come and go and it's okay for some of them to just "go".Missing: effectiveness | Show results with:effectiveness