Refresh

The HTTP Refresh response header instructs the browser to reload the current page or redirect to a different URL after a specified number of seconds. The header is defined in the WHATWG HTML Living Standard and is registered in the IANA HTTP Field Name Registry with permanent status.

Usage

The Refresh header originates from Netscape Navigator in the mid-1990s and behaves identically to the <meta http-equiv="refresh"> HTML tag. Servers send this header to trigger a timed page reload or a client-side redirect without requiring JavaScript or user interaction.

The header was not defined in any HTTP RFC, but is now specified in the WHATWG HTML Living Standard, which describes the processing model for both the HTTP header and the equivalent <meta http-equiv="refresh"> tag under shared declarative refresh steps. All major browsers support the Refresh header and have done so for decades. The most common use is an immediate redirect with a delay of 0, where the server points the browser to a new URL right away. Some servers use a non-zero delay to show a brief message before redirecting.

For permanent or temporary Redirects, the Location header paired with a 301 or 302 status code is the preferred approach. The Refresh header is a fallback seen in legacy applications, content management systems, and login flows where server-side redirect logic is limited.

Browser Support

All major browsers support the Refresh header. The WHATWG HTML Living Standard defines the processing model. The header is registered in the IANA HTTP Field Name Registry with permanent status.

Note

Search engines treat Refresh-based redirects differently from HTTP redirects using the Location header. Refresh redirects do not reliably pass link equity. For URL migrations, use Location with a 301 or 308 status code instead.

Values

The value follows one of two formats:

Refresh: <seconds>
Refresh: <seconds>; url=<target-url>

seconds

The seconds value is a non-negative integer specifying the delay in seconds before the browser acts. A value of 0 triggers an immediate reload or redirect.

url

The url parameter is optional. When present, the browser navigates to the specified URL after the delay. When omitted, the browser reloads the current page.

Example

An immediate redirect to a different path. The browser navigates to /products/ratio-solar-box without any visible delay. This pattern is common for URL normalization and trailing-slash redirects.

Refresh: 0;url=/products/ratio-solar-box

A redirect with a longer delay. The server shows the current page for about 40 minutes before redirecting to a login form. This pattern appears in session timeout flows where the server warns the user before forcing re-authentication.

Refresh: 2420; url=LoginForm.aspx

A timed redirect to a different page on the same site. The browser waits 7 seconds before navigating to index.php. This is typical of splash pages or interstitial notices.

Refresh: 7;url=index.php

Takeaway

The Refresh header is a long-standing mechanism for triggering browser reloads and client-side redirects after a time delay. Defined in the WHATWG HTML Living Standard, the header is registered in the IANA HTTP Field Name Registry. Standard HTTP redirects using Location and appropriate status codes are preferred for most use cases.

See also

Last updated: March 6, 2026