Developer Tools

HTTP 302 Found

3xx Redirection. The requested resource temporarily resides at a different URL.

Runs in your browser. Your files and text never leave your device - nothing is uploaded.

3xx Redirection

What it means

The requested resource temporarily resides at a different URL.

PropertyDetail
Status class3xx Redirection
Defined inRFC 9110, Section 15.4.3
Cacheable by defaultOnly with explicit caching headers: a cache stores it when the response carries Cache-Control (max-age, s-maxage or public) or Expires. Browsers check the original URL again on each visit unless Cache-Control or Expires says otherwise.
Who needs to actThe site owner, if the move is in fact permanent.

What does HTTP 302 Found mean?

HTTP 302 Found is a temporary redirect: the resource is at a different URL for now, given in the Location header, but clients should keep using the original URL in future. Browsers follow it automatically. Because it is temporary, search engines normally keep the original URL in their results rather than the destination.

How 302 Found works

The 302 is one of the most common redirects on the web, partly because many frameworks use it by default. RFC 9110 defines it as temporary, so a client should go back to the original URL next time. It also carries a legacy behaviour: browsers turn a redirected POST into a GET. That suits sending someone to a results page after a form submission, a pattern for which 303 See Other is the precise code, but it is wrong when the method must be kept, which is the job of 307. The commonest mistake is using a 302 for a move that is really permanent.

Example 302 request and response

GET /account HTTP/1.1
Host: example.com

HTTP/1.1 302 Found
Location: /login?next=/account
Cache-Control: no-store

The account page has not moved; the visitor is sent to log in first, and /account remains the URL to use.

When servers send 302 Found

  • Login walls that send signed-out users to a sign-in page and back.
  • Geo or language redirects to a localised version of a page.
  • Short campaigns, A/B tests or temporary maintenance pages.
  • Framework defaults: Express's res.redirect() and PHP's header('Location: ...') both send 302 unless told otherwise.

How to handle 302 Found

If you are a visitor or API client

  • Follow Location for this request, but keep calling the original URL next time.
  • If you are stuck in a redirect loop, check cookies and login state; authentication redirects are the usual cause.

If you run the site

  • Switch to 301 or 308 if the content has moved for good.
  • Use 307 when a POST or PUT must reach the new URL unchanged, and 303 to send a form submitter to a results page.
  • Avoid chains of temporary redirects, which slow every page view.

302 and SEO

Google treats 302 and 307 alike: it follows the redirect, but the indexing pipeline does not use it as a signal that the target should be canonical, so the original URL normally stays in search results. That is right for genuinely temporary moves. Google notes that the target may still be indexed if other canonicalisation signals point to it, but the reliable way to move a page in search is a 301 or 308.

Related status codes

  • 307 Temporary Redirect: Also temporary, but the method and body must not change, so a POST stays a POST.
  • 303 See Other: Always switches to GET; the standard reply after a form submission.
  • 301 Moved Permanently: The permanent counterpart, which moves the URL in search results.

Frequently asked questions

Sources

Other 3xx Redirection codes

Reviewed by Raja Jahangir · Last reviewed: October 7, 2026