HTTP 306 (Unused)

HTTP 306 is a reserved status code that was used in a previous version of the HTTP specification but is no longer used. RFC 9110 explicitly states that 306 is unused and the code is reserved. No server should return 306, and no client should act on it as a meaningful redirect directive.

HTTP 306 full guide →

Quick reference

Code306
Name(Unused)
Category3xx Redirect
SpecificationRFC 9110 §15.4.7
IANA statusUnused — reserved, not for use
CacheableNo
Client action306 should not be returned by any server. If you see it, it is a misconfiguration. Treat as an unrecognized 3xx.
In-depth guideHTTP 306 full guide →

What HTTP 306 means

RFC 9110 §15.4.7 defines 306 as: "The 306 status code was used in a previous version of this specification (see RFC 7235, Section 6.4.6), is no longer used, and the code is reserved." The code was originally associated with "(Unused)" in RFC 7231 and earlier drafts used it for a "Switch Proxy" response, but this use was abandoned before final publication.

306 is not assigned to any protocol behavior and should never appear in HTTP communication. If a server returns 306, it is either a bug, a custom proprietary response, or a severely misconfigured server. Clients that receive a 306 should not follow any redirect implied by it.

The presence of 306 in the reserved range is simply a historical artifact — the number was used in drafts, was then abandoned, and reserving it prevents any future conflicting definition.

3xx redirect codes overview

The 3xx range contains the redirect codes. With 306 reserved and unused, the active 3xx codes are:

CodeNameStatus
300Multiple ChoicesActive
301Moved PermanentlyActive
302FoundActive
303See OtherActive
304Not ModifiedActive
305Use ProxyDeprecated
306(Unused)Reserved, unused
307Temporary RedirectActive
308Permanent RedirectActive

FAQ

What does HTTP 306 mean?

HTTP 306 is reserved and unused. It has no defined meaning in the current HTTP specification. If you see it, it is a misconfiguration or non-standard usage.

Was 306 ever used?

It appeared in early HTTP specification drafts with a "Switch Proxy" definition, but this was abandoned before the specification was finalized. It has never been an active part of a published HTTP standard.

What should I do if my server returns 306?

It should not. Investigate the server configuration to find what is generating the 306 response and correct it to use an appropriate 3xx redirect code.

How is 306 different from 305?

Both are inactive — 305 Use Proxy was deprecated due to security concerns, and 306 was reserved without ever being used. Neither should appear in current HTTP traffic.

Related resources

On this site: HTTP 306 — full guide · HTTP 307 Temporary Redirect · HTTP 301 Moved Permanently · All 3xx redirect codes

Standards: RFC 9110 §15.4.7 · IANA HTTP Status Code Registry