# 306 Unused

> https://http-status.org/docs/306

**Family:** 3xx Redirection

## Rationale

Reserved status code with no current semantics.

## In Plain Terms

This number exists in the HTTP list, but it does not mean anything you should use in a real app today.

## Description

The HTTP 306 Unused status code is reserved and not assigned to any active response semantics. It remains in the registry for historical reasons, but modern HTTP implementations should not use it as a normal application response.

## Server Perspective

### Usage
- Keep 306 only as reference material in documentation
- Choose a real standard status code instead of inventing meaning for 306
- When documenting historical or reserved HTTP status codes
- When explaining that not every number in the status code range is an active feature

### Implementation
- Audit any code path that returns 306 because it likely indicates a bug, placeholder, or undocumented custom behavior
- Map the response to a defined HTTP status that matches the actual semantics

### Common Headers
- No status-specific header is defined because 306 has no active modern semantics.

### Body
- There is no defined response body contract for 306 because there is no active status semantics to implement

### Pitfalls
- Do not use 306 as an internal shortcut hoping clients will understand it
- Do not confuse 'reserved' with 'safe to repurpose'
- Any real redirect, cache, or application response
- Custom product semantics that should instead use a defined standard or documented vendor-specific contract

## Client Perspective

### Pitfalls
- Do not invent client logic around 306 unless a private contract explicitly says so

## Examples

### Reading an HTTP status code reference

The useful lesson is that clients should not build product logic around it.

**Request:**
```
GET https://api.example.test/status/306
```

**Response:**
```
306 Unused
```

## Related Codes

- [305 Use Proxy](/docs/305.md)
- [307 Temporary Redirect](/docs/307.md)

