HTTP/404 – Negative Acknowledgement Protocol

RFC XXXX · July 2025 · Experimental
Author: K. Ethereal <404@keshii.me>

Abstract

This document specifies HTTP/404, an extension to HTTP formalizing deterministic negative acknowledgement and resource nonexistence for distributed systems.

Read the RFC

Internet-Draft                HTTP/404 Protocol                July 2025
Intended status: Experimental
Expires: January 2026

                  Hypertext Transfer Protocol 404 (HTTP/404)
                         Negative Acknowledgement Protocol

Abstract

   This document specifies HTTP/404, an extension to the Hypertext Transfer
   Protocol (HTTP) designed to formalize negative response semantics. HTTP/404
   defines a deterministic approach for resource nonexistence, uniform
   negative acknowledgement, and the denial of resource presence in HTTP-based
   systems. This protocol extension enables explicit, consistent handling of
   absent, unreachable, or unimplemented resources.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF). Note that other groups may also distribute
   working documents as Internet-Drafts. The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other documents
   at any time. It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire in January 2026.

Copyright Notice

   Copyright (c) 2025 IETF Trust and the persons identified as the
   document authors. All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document. Please review these documents
   carefully, as they describe your rights and restrictions with
   respect to this document. Code Components extracted from this
   document must include Revised BSD License text as described in
   Section 4.e of the Trust Legal Provisions and are provided without
   warranty as described in the Revised BSD License.

Table of Contents

   1. Introduction ............................................. 2
      1.1 Motivation and Use Cases ............................. 3
   2. Terminology .............................................. 4
   3. Protocol Overview ........................................ 5
   4. Response Semantics ....................................... 6
   5. HTTP/404 Headers ......................................... 7
   6. Implementation Considerations ............................ 9
   7. Security Considerations ................................. 10
   8. IANA Considerations ..................................... 11
   9. References .............................................. 12
   Appendix A. Acknowledgments ................................ 13
   Author's Address ........................................... 14

1. Introduction

   The Hypertext Transfer Protocol (HTTP) [RFC7230][RFC9110] provides a
   general-purpose framework for distributed, collaborative, hypermedia
   information systems. Existing HTTP status codes, notably 404 (Not Found),
   are used to indicate the absence of a requested resource. However, there
   is no formalized, protocol-level mechanism to provide deterministic,
   consistent, and universal negative acknowledgements across all endpoints,
   methods, and resource states.

   HTTP/404 defines a protocol extension in which servers consistently
   respond to all HTTP requests with a negative acknowledgement. This
   approach enables the explicit declaration of resource nonexistence,
   denial, or unreachability, thereby facilitating uniform error handling
   in distributed applications.

1.1 Motivation and Use Cases

   While HTTP status code 404 is widely implemented, its use is limited to
   individual responses and does not standardize an operational mode for
   universal resource denial. In practice, servers and services may require
   a deterministic and protocol-level method for always returning a negative
   acknowledgement to any HTTP request, regardless of resource state,
   endpoint, or method.

   The formalization of a negative acknowledgement protocol has multiple
   motivations and use cases:

   - **Privacy and Anti-Fingerprinting:**  
     Uniformly denying all resource requests reduces the risk of
     information leakage, resource enumeration, or fingerprinting
     attacks. [RFC6973], [RFC7624]

   - **Honeypots and Decoy Infrastructure:**  
     Security researchers and operators of decoy services may wish to
     present a consistent negative surface, obscuring which resources,
     if any, are valid. [RFC5357]

   - **Operational Maintenance and Sandbox Modes:**  
     During certain maintenance or compliance scenarios, operators may
     need to place an HTTP service into a "deny-all" state, preventing
     accidental disclosure of data or endpoints.

   - **Testing and Compliance:**  
     Developers can use HTTP/404-compliant endpoints to test client-side
     error handling, fallback logic, and negative response processing.

   This protocol is distinct from the HTTP 404 status code, as it defines
   explicit protocol semantics for universal negative acknowledgement,
   enabling new operational modes and consistent deployment patterns.

2. Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174]
   when, and only when, they appear in all capitals, as shown here.

   For the purposes of this specification:

     Resource: Any identifier, URI, or endpoint requested by a client.
     Client: An entity initiating a request using HTTP/404.
     Server: An entity responding to a request using HTTP/404.

3. Protocol Overview

   HTTP/404 extends HTTP/1.1 [RFC7230] and HTTP/2 [RFC9113] by mandating
   negative acknowledgement for all resource requests, regardless of the
   request method, resource identifier, or context.

   A server implementing HTTP/404 MUST respond to every HTTP request with a
   404 Not Found status code, even if the resource exists or would otherwise
   be accessible under conventional HTTP operation.

   Example:

     Client Request:
       GET /example/resource HTTP/404

     Server Response:
       HTTP/1.1 404 Not Found
       X-Protocol-Denial: HTTP/404
       Retry-After: never

4. Response Semantics

   Servers implementing HTTP/404 MUST respond to all HTTP methods
   (including but not limited to GET, POST, PUT, DELETE, OPTIONS, HEAD,
   PATCH, CONNECT, TRACE) with a status code of 404 (Not Found).

   The following headers MUST be included in every response:

     X-Protocol-Denial: HTTP/404
     Retry-After: never

   The following headers MAY be included for diagnostic or informational
   purposes:

     X-Server-Confidence: 0%
     X-Previous-Existence: Unverifiable
     X-Reality-Integrity: Inapplicable

   The response body SHOULD be empty. If present, it MUST NOT provide any
   information about the requested resource.

5. HTTP/404 Headers

   The following HTTP header fields are defined for use with HTTP/404:

   - X-Protocol-Denial:  Indicates compliance with HTTP/404 (REQUIRED).
   - Retry-After:        Indicates that retrying is not applicable (REQUIRED).
   - X-Server-Confidence: Indicates server certainty (OPTIONAL).
   - X-Previous-Existence: Indicates prior resource existence (OPTIONAL).
   - X-Reality-Integrity: Indicates protocol context (OPTIONAL).

   All other headers are ignored.

6. Implementation Considerations

   Servers:

     - MUST respond to every HTTP request with status code 404 (Not Found).
     - MUST include the required headers as defined in Section 5.
     - MUST NOT disclose any information about resource existence.
     - SHOULD apply protocol behavior at all endpoints and subresources.
     - SHOULD deny all content negotiation and directory listing.
     - MAY log requests, but MUST NOT indicate resource presence in logs.

   Clients:

     - SHOULD NOT retry failed requests.
     - SHOULD NOT cache HTTP/404 responses for future use.
     - SHOULD NOT generate alerts for resource nonexistence under HTTP/404.

7. Security Considerations

   HTTP/404 mitigates information disclosure by providing a uniform
   negative response to all requests. This prevents inference of resource
   existence, state, or availability from HTTP response behavior.

   Operators should be aware that HTTP/404 may obscure operational
   incidents, unauthorized access, or misconfiguration, as all requests
   will appear identically denied.

   No additional security risks are introduced by this protocol extension.

8. IANA Considerations

   This document requires no IANA actions. No new HTTP status codes,
   header fields, or media types are registered.

9. References

   [RFC2119] S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels,"
             BCP 14, RFC 2119, March 1997.

   [RFC5357] H. R. van As, A. Morton, "A Two-Way Active Measurement Protocol (TWAMP)," RFC 5357, October 2008.

   [RFC6973] A. Cooper, et al., "Privacy Considerations for Internet Protocols," RFC 6973, July 2013.

   [RFC7230] R. Fielding, J. Reschke, "Hypertext Transfer Protocol (HTTP/1.1):
             Message Syntax and Routing," RFC 7230, June 2014.

   [RFC7624] C. Hallam-Baker, et al., "Confidentiality in the Face of Pervasive Surveillance," RFC 7624, August 2015.

   [RFC8174] B. Leiba, "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words,"
             RFC 8174, May 2017.

   [RFC9110] R. Fielding, M. Nottingham, J. Reschke, "HTTP Semantics," RFC 9110,
             June 2022.

   [RFC9113] M. Thomson, C. Benfield, "HTTP/2," RFC 9113, June 2022.

Appendix A. Acknowledgments

   The author wishes to thank all contributors to HTTP standards for
   their work in defining both presence and absence.

Author's Address

   K. Ethereal
   Email: 404@keshii.me

Internet-Draft                HTTP/404 Protocol                July 2025
            

Downloads

(Both downloads may return HTTP 404 by design.)