Original text(via Hacker News)
The Hypertext Transfer Protocol Status Code 483 (I'm Not a Freezer) draft-banffy-httpbis-not-a-freezer-00
- Email expansions
| Document | Type | Active Internet-Draft (individual) | |
|---|---|---|---|
| Author | Ricardo Bánffy | ||
| Last updated | 2026-11-15 | ||
| RFC stream | (None) | ||
| Intended RFC status | (None) | ||
| Formats | txt html xml htmlized bibtex bibxml | ||
| Stream | Stream state | (No stream defined) | |
| Consensus boilerplate | Unknown | ||
| RFC Editor Note | (None) | ||
| IESG | IESG state | I-D Exists | |
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
Independent Submission R. Bánffy
Internet-Draft 15 November 2026
Intended status: Informational
Expires: 19 May 2027
The Hypertext Transfer Protocol Status Code 483 (I'm Not a Freezer)
draft-banffy-httpbis-not-a-freezer-00
Abstract
This document defines the Hypertext Transfer Protocol status code 483
(I'm Not a Freezer). A server returns this status code when it
understands a request that requires freezing or refrigeration
capabilities but is not capable of providing those capabilities.
This document also clarifies the distinction between a freezer, a
refrigerator, a server operating at a low temperature, a frozen
software process, and an online service advertising "cold storage".
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 on 19 May 2027.
Copyright Notice
Copyright (c) 2026 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.
Banffy Expires 19 May 2027 [Page 1]
Internet-Draft I'm Not a Freezer November 2026
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions and Definitions . . . . . . . . . . . . . . . . . 2
3. The 483 (I'm Not a Freezer) Status Code . . . . . . . . . . . 3
4. Client Behavior . . . . . . . . . . . . . . . . . . . . . . . 4
5. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 4
6. Example: Electronic Mail Concerning Frozen Goods . . . . . . 5
7. Relationship to Status Code 418 . . . . . . . . . . . . . . . 6
8. Distinguishing Refrigerators from Freezers . . . . . . . . . 7
9. Intermediaries and Cold-Chain Proxies . . . . . . . . . . . . 7
10. Caching Considerations . . . . . . . . . . . . . . . . . . . 7
11. Security Considerations . . . . . . . . . . . . . . . . . . . 8
12. Privacy Considerations . . . . . . . . . . . . . . . . . . . 8
13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
14. Implementation Considerations . . . . . . . . . . . . . . . . 9
15. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9
16. Normative References . . . . . . . . . . . . . . . . . . . . 10
17. Informative References . . . . . . . . . . . . . . . . . . . 10
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction
HTTP status codes communicate the result of attempting to understand
and satisfy a request. Existing status codes cover malformed
requests, missing resources, unsupported media types, and servers
that are temporarily unavailable.
No registered status code clearly indicates that a server understood
a request but cannot satisfy it because the request requires the
server to be a freezer.
This ambiguity can cause clients to repeat requests, select
inappropriate fallback services, place perishable goods near
computing equipment, or otherwise confuse information technology
infrastructure with domestic or industrial refrigeration equipment.
This document addresses that ambiguity by defining the 483 (I'm Not a
Freezer) status code.
2. Conventions and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "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.
Banffy Expires 19 May 2027 [Page 2]
Internet-Draft I'm Not a Freezer November 2026
Freezer
An apparatus capable of maintaining its contents at a temperature
below the freezing point of water for a sustained period.
Software containers, frozen processes, cold-storage services, and
servers located in cold climates are not necessarily freezers.
Refrigerator
An apparatus that maintains contents below ambient temperature but
does not necessarily maintain them below the freezing point of
water.
Cold storage
A term that might refer to refrigerated physical storage,
infrequently accessed data storage, an offline cryptographic
wallet, or other facilities that are insufficiently warm. Use of
the term does not establish freezer capability.
Freezer-capable server
An HTTP server associated with equipment that can perform the
freezing operation requested by the client. Merely operating
inside a freezer does not necessarily make an HTTP server freezer-
capable.
3. The 483 (I'm Not a Freezer) Status Code
This document extends the HTTP status-code semantics defined in
[HTTP] with the 483 (I'm Not a Freezer) status code. The status code
indicates that the server understood the request but cannot satisfy
it because the requested operation requires freezing or refrigeration
capabilities that the server does not possess.
A server MAY return 483 when all of the following conditions apply:
* The request can be parsed and understood.
* Satisfying the request would require the server to freeze,
refrigerate, chill, or preserve a physical item by reducing its
temperature.
* The server is not capable of performing the requested temperature-
control operation.
A server MUST NOT return 483 merely because:
* its operating temperature is below ambient temperature;
* it uses liquid, air, immersion, or phase-change cooling;
Banffy Expires 19 May 2027 [Page 3]
Internet-Draft I'm Not a Freezer November 2026
* it provides a service described as "cold storage";
* one or more software processes have been frozen;
* its physical location is cold;
* its hostname contains words such as "freezer", "ice", "arctic",
"frost", or "cold"; or
* it is unresponsive in a way informally described as "frozen".
A 483 response SHOULD contain a representation explaining that the
selected server lacks the required refrigeration capability. Where
appropriate, the representation MAY identify a freezer-capable
alternative.
HTTP/1.1 483 I'm Not a Freezer
Content-Type: text/plain
This server is not a freezer and cannot satisfy the requested operation.
4. Client Behavior
A client receiving a 483 response SHOULD NOT automatically repeat the
same request to the same server unless it has reason to believe that
the server has subsequently acquired suitable refrigeration
capabilities.
A client MAY attempt the request against another origin if that
origin is known to be freezer-capable.
A client MUST NOT interpret a 483 response as evidence that the
server is a refrigerator. The response communicates a lack of
freezer capability and makes no claim concerning lesser, adjacent, or
unrelated cooling capabilities.
Clients SHOULD avoid automatically redirecting physical goods based
solely on URI authority components, DNS names, electronic mail
addresses, service banners, or unverified appliance metadata.
5. Applicability
Status code 483 is applicable when a request crosses a boundary
between digital instructions and physical temperature-control
operations.
Examples include:
Banffy Expires 19 May 2027 [Page 4]
Internet-Draft I'm Not a Freezer November 2026
* an HTTP-controlled kitchen appliance receiving a request to freeze
food;
* an industrial control gateway receiving a request to preserve a
sample below a specified temperature;
* a logistics service receiving an instruction that requires a cold-
chain facility that it does not operate; and
* a general-purpose HTTP server receiving a request intended for a
refrigeration appliance.
Status code 483 is not intended to report CPU thermal throttling,
data-center cooling failures, insufficient heat dissipation,
unresponsive software, immutable data, object freezing in programming
languages, or process suspension.
6. Example: Electronic Mail Concerning Frozen Goods
Consider an HTTP service that accepts electronic mail for delivery to
suitable appliances. A client might inadvertently attempt to deliver
a message intended for a freezer:
POST /mail HTTP/1.1
Host: mail.example
Content-Type: message/rfc822
From: [email protected]
To: [email protected]
Date: Tue, 3 Nov 2026 10:00:00 +0000
Message-ID: <[email protected]>
Subject: Please freeze these peas
Dear Freezer,
Please maintain the attached peas at approximately -18 degrees
Celsius until further notice.
Regards,
Alice
If the selected service is not a freezer and cannot cause the
requested freezing operation to occur, it MAY reject the request with
status code 483:
Banffy Expires 19 May 2027 [Page 5]
Internet-Draft I'm Not a Freezer November 2026
HTTP/1.1 483 I'm Not a Freezer
Content-Type: text/plain
This server is not a freezer and cannot satisfy the requested operation.
An implementation MUST NOT infer refrigeration capability solely from
an electronic mail address containing the strings "freezer",
"refrigerator", "cold", "ice", or similar terminology.
The recipient address identifies the intended appliance but does not
prove that the HTTP service handling the message controls that
appliance.
The domain names and electronic mail addresses in this example are
reserved for documentation as described by [RFC2606] and do not
identify operational refrigeration infrastructure.
7. Relationship to Status Code 418
Status code 418 was introduced by the Hyper Text Coffee Pot Control
Protocol [RFC2324] and is associated with an apparatus that is a
teapot and therefore cannot brew coffee. Status code 483 represents
a distinct condition.
A teapot might be neither a freezer nor a general-purpose server.
Similarly, a freezer might contain an HTTP server without becoming a
teapot.
An implementation choosing between 418 and 483 SHOULD consider the
immediate reason that the request cannot be satisfied:
* If the request cannot be satisfied because the responding
apparatus is a teapot, 418 might be appropriate.
* If the request cannot be satisfied because the responding server
is not a freezer, 483 might be appropriate.
* If the apparatus is both a teapot and not a freezer, the
implementation SHOULD report the condition most directly relevant
to the requested operation.
This document does not define response prioritization for combination
refrigerator-freezer-teapot appliances.
Banffy Expires 19 May 2027 [Page 6]
Internet-Draft I'm Not a Freezer November 2026
8. Distinguishing Refrigerators from Freezers
A refrigerator is not necessarily a freezer. An implementation MUST
NOT advertise freezer capability merely because it can maintain a
temperature lower than the surrounding environment.
If a request specifies a target temperature, the server SHOULD
evaluate its actual supported temperature range. A server that can
maintain 4 degrees Celsius but cannot maintain -18 degrees Celsius
can return 483 when asked to preserve frozen food at -18 degrees
Celsius.
This document does not allocate a separate status code meaning "I'm
Only a Refrigerator". Such allocation is left for future work,
preferably after an appropriate cooling-off period.
9. Intermediaries and Cold-Chain Proxies
An intermediary MUST NOT replace a 483 response with a success
response unless it has arranged for the requested operation to be
performed by a freezer-capable service.
An intermediary that forwards a request to a freezer-capable service
SHOULD preserve sufficient request information to maintain
traceability through the cold chain.
A proxy MUST NOT claim that a request has been frozen merely because
it has been buffered, queued, archived, or stored on media described
as cold storage.
Intermediaries SHOULD NOT select a refrigeration service based only
on the service name. Capability claims ought to be authenticated
before perishable or temperature-sensitive goods are redirected.
10. Caching Considerations
A 483 response is not heuristically cacheable.
A 483 response can be cached when explicit freshness information
permits caching, subject to [HTTP-CACHING].
Implementations ought to use short freshness lifetimes when
refrigeration capabilities can change. A server might acquire
freezer capability through appliance discovery, configuration,
repair, attachment of suitable hardware, or relocation.
Banffy Expires 19 May 2027 [Page 7]
Internet-Draft I'm Not a Freezer November 2026
A cache MUST include relevant request-selection information in its
cache key when freezer capability depends on the requested product,
target temperature, duration, physical location, or other request
characteristics.
11. Security Considerations
A 483 response can disclose information about the physical
capabilities of a server, appliance, building, warehouse, or
logistics network. Such information might assist an attacker in
identifying facilities that lack refrigeration capability.
Servers SHOULD avoid disclosing unnecessary details about appliance
models, internal temperatures, stored contents, physical locations,
maintenance schedules, or cold-chain topology.
A malicious service might falsely claim freezer capability in order
to receive physical goods, operational instructions, or sensitive
inventory information. Clients SHOULD authenticate services before
relying on claims of refrigeration capability.
Implementations MUST NOT treat the presence or absence of a 483
response as proof that a physical item has been frozen, refrigerated,
preserved, spoiled, thawed, or consumed.
Request bodies associated with freezing operations might reveal
dietary preferences, medical requirements, biological sample
information, commercial inventory, or other sensitive data.
Implementations SHOULD apply suitable confidentiality and access-
control protections.
Operators are advised not to troubleshoot servers by placing them
inside domestic freezers. Condensation, restricted airflow, thermal
shock, and the objections of other freezer occupants can produce
undesirable results.
12. Privacy Considerations
Requests involving refrigeration can expose information about food,
medicine, scientific samples, commercial shipments, or household
activity. Servers SHOULD minimize the information returned in a 483
response and SHOULD avoid echoing sensitive request content.
Logs containing 483 responses SHOULD be protected according to the
sensitivity of associated request metadata and content.
Banffy Expires 19 May 2027 [Page 8]
Internet-Draft I'm Not a Freezer November 2026
13. IANA Considerations
This document requests that IANA register the following entry in the
"Hypertext Transfer Protocol (HTTP) Status Code Registry":
+=======+===================+===============+
| Value | Description | Reference |
+=======+===================+===============+
| 483 | I'm Not a Freezer | This document |
+-------+-------------------+---------------+
Table 1: Requested HTTP Status Code
Registration
If the registration request is not approved, this section can itself
be considered safely stored for future use, although not necessarily
below freezing.
14. Implementation Considerations
Implementers are encouraged to use the exact reason phrase "I'm Not a
Freezer" when a reason phrase is supported. Clients MUST NOT depend
on the reason phrase because HTTP semantics are identified by the
numeric status code.
Protocol versions that do not transmit a reason phrase can use status
code 483 without modification.
Implementations MAY include a machine-readable problem detail
describing the unsupported refrigeration operation, subject to
[RFC9457].
HTTP/1.1 483 I'm Not a Freezer
Content-Type: application/problem+json
Cache-Control: no-store
{
"type": "https://example.com/problems/not-a-freezer",
"title": "I'm Not a Freezer",
"status": 483,
"detail": "The requested temperature is outside supported capabilities."
}
15. Acknowledgments
The author thanks the designers of HTTP, refrigeration equipment,
electronic mail, and combination appliances for creating the
conditions that made this clarification necessary.
Banffy Expires 19 May 2027 [Page 9]
Internet-Draft I'm Not a Freezer November 2026
The peas used in the example were not harmed during preparation of
this document, although their final temperature could not be
independently verified.
16. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[HTTP] Fielding, R., Nottingham, M., and J. Reschke, "HTTP
Semantics", STD 97, RFC 9110, DOI 10.17487/RFC9110, June
2022, <https://www.rfc-editor.org/info/rfc9110>.
[HTTP-CACHING]
Fielding, R., Nottingham, M., and J. Reschke, "HTTP
Caching", STD 98, RFC 9111, DOI 10.17487/RFC9111, June
2022, <https://www.rfc-editor.org/info/rfc9111>.
[RFC9457] Nottingham, M., Wilde, E., and S. Dalal, "Problem Details
for HTTP APIs", RFC 9457, DOI 10.17487/RFC9457, July 2023,
<https://www.rfc-editor.org/info/rfc9457>.
17. Informative References
[RFC2324] Masinter, L., "Hyper Text Coffee Pot Control Protocol
(HTCPCP/1.0)", RFC 2324, DOI 10.17487/RFC2324, 1 April
1998, <https://www.rfc-editor.org/info/rfc2324>.
[RFC2606] Eastlake, D. and A. Panitz, "Reserved Top Level DNS
Names", BCP 32, RFC 2606, DOI 10.17487/RFC2606, June 1999,
<https://www.rfc-editor.org/info/rfc2606>.
Author's Address
Ricardo Bánffy
Email: [email protected]
Banffy Expires 19 May 2027 [Page 10]