HTTP Status Codes

HTTP 307 Temporary Redirect

307
LowWeb ServerReference page

Temporary Redirect — the resource temporarily resides at a different location

A 307 Temporary Redirect is the stricter temporary redirect response. It tells the client to follow the Location URL while preserving the original HTTP method and request body.

Visual summary

A quick reference view of how HTTP 307 temporarily reroutes a request without changing its method or request body.

HTTP 307 visual summary showing a request temporarily rerouted while preserving the original method and request body
Visual summary: 307 points a request to a temporary destination while preserving the original method and payload.

What 307 Means

The shortest useful reading of this status code.

Temporary Redirect means the resource temporarily resides at a different location.

For temporary redirects, 307 is the strict form: it points to another location while preserving the original method and request body.

Quick read

Temporary move, same method

A 307 points to another Location while keeping the original HTTP method and request body.

Technical Context

How this status behaves without turning the page into a repair guide.

Temporary target

The creation of the 307 status resolved a historical ambiguity in early web standards. Originally, many browsers incorrectly changed POST requests into GET requests when following a 302 redirect, breaking forms and payment data transmissions in the process.

Method preserved

A 307 explicitly outlaws this behavior. When a client receives a 307 in response to a POST request, it is obligated to reuse the POST method and the exact original body payload when requesting the temporary new address.

Payload integrity

Because of this strict method guarantee, APIs and transactional systems often use 307 instead of 302 when preserving request semantics matters. It reduces ambiguity around whether a non-GET request can be converted into a retrieval request.

Compare Redirect Codes

Redirect status codes look similar in search results, so this page highlights the distinctions that make 307 different.

Common Causes

Form submission redirected to a different processing endpoint

The request target changes temporarily while the submitted method and body still matter.

API versioning routing where the method must be preserved

Routing changes, but the original API method must remain intact.

Internal geographic routing prior to serving a resource

Traffic is temporarily pointed toward another location before content is served.

Strict application frameworks enforcing modern standards

Framework routing uses 307 when temporary redirects must preserve request semantics.

Typical Scenarios

01

An application temporarily redirects a POST form submission to a fallback server

02

A strict API forces an incoming PUT request to hit an alternative data center

03

A modern framework defaults to 307 instead of 302 to maintain security expectations

What To Know

A 307 indicates a temporary redirect where the original request method remains significant. When it appears in logs, the key distinction is usually not that the resource is permanently gone, but that traffic is temporarily routed elsewhere without changing the request semantics.

Frequently Asked Questions

Common interpretation questions about HTTP 307.

Both indicate a temporary redirect. However, a 302 historically caused some clients to change POST requests to GET. A 307 strictly requires the client to keep the original method.

A 307 is different when the original HTTP method and request body matter. It removes the historical ambiguity where some clients treated a temporary redirect as an opportunity to change a POST request into a GET request.

Google treats 307 as a temporary redirect signal. The redirect can be followed, but the temporary target is not used as the primary canonical signal in the same way as a permanent redirect.