# 302 Found

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

**Family:** 3xx Redirection

## Rationale

Temporary redirect; keep using the original URI, but some clients may rewrite POST to GET.

## In Plain Terms

Go somewhere else for now, but don’t assume this new address is the permanent one.

## Description

The HTTP 302 Found status code indicates that the target resource is temporarily available at a different URI. Clients should continue to use the original URI for future requests. Historically, many user agents changed POST into GET after a 302, which is why 307 and 303 are often clearer choices today.

## Server Perspective

### Usage
- Return 302 for temporary page moves and lightweight browser redirects
- Prefer 307 when method preservation matters, and 303 when you want the next request to be GET
- Temporary redirects for GET or HEAD requests
- Short-lived route changes such as experiments, campaigns, or temporary page moves
- Cases where browser-style redirect behavior is acceptable

### Implementation
- Include a Location header with the temporary target URI
- Keep the original URI valid for future requests because the redirect is not permanent

### Common Headers
- Location
- Cache-Control

### Body
- A short explanatory body is optional, but the redirect target belongs in Location

### Pitfalls
- Do not rely on 302 to preserve POST, PUT, or PATCH semantics across clients
- Do not use 302 when the move is effectively permanent
- Permanent redirects; use 301 or 308
- Non-GET redirects where the original method and body must be preserved; use 307
- Post/redirect/get flows where the follow-up request should intentionally become GET; use 303

## Client Perspective

### Pitfalls
- Do not treat 302 as a guaranteed method-preserving redirect

## Examples

### Temporary campaign landing page

The redirect is temporary, so the original URL remains the canonical entry point.

**Request:**
```
GET https://api.example.test/pricing
```

**Response:**
```
302 Found
Location: https://api.example.test/spring-sale
```

### Short-term maintenance detour

Users are redirected for now, but the application plans to restore the original route.

**Request:**
```
GET https://api.example.test/dashboard
```

**Response:**
```
302 Found
Location: https://api.example.test/status/maintenance
```

## Related Codes

- [301 Moved Permanently](/docs/301.md)
- [303 See Other](/docs/303.md)
- [307 Temporary Redirect](/docs/307.md)

