306
HTTPREDIRECTCritical3xx RedirectionHIGH confidence

(Unused / Reserved)

Production Risk

Low — you will never encounter this in production unless dealing with ancient or broken infrastructure.

What this means

306 is permanently reserved and unused. It appeared in an early draft of RFC 2068 without any assigned semantics and was explicitly retired in RFC 7231. The label 'Switch Proxy' that appears on Wikipedia and many reference sites has no RFC basis — it was never the official name. No conforming server should ever return 306 and no client should act on it.

Why it happens
  1. 1306 was reserved in an early draft of RFC 2068 but never received defined semantics.
  2. 2RFC 7231 §6.4.6 explicitly states the code is no longer used.
  3. 3If encountered, it indicates a very old or non-compliant server; treat it as an error.
How to reproduce

Historical — not generated by any modern server.

trigger — this will error
trigger — this will error
GET / HTTP/1.1
Host: example.com

expected output

HTTP/1.1 306 (Unused)

Fix

Do not use 307 Temporary Redirect instead

WHEN You are building a server and want to redirect clients to a proxy.

Do not use 307 Temporary Redirect instead
HTTP/1.1 307 Temporary Redirect
Location: http://proxy.example.com/

Why this works

307 is the correct modern replacement for the proxy-redirect intent.

What not to do

Do not emit 306 from any server

It is reserved and undefined in the current HTTP spec; clients will not know how to handle it.

Version notes
HTTP/1.1

Was defined in an early draft of RFC 2068 but removed before the final specification. The code is permanently reserved.

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All HTTP errors