HTTP header check

Shows the response code, the full redirect chain and the HTTP headers the server sends back.

The redirect chain

Every extra hop costs a round trip before anything is drawn, and a mobile connection pays for it twice. The right setup is one redirect: from http to https and from www to the bare domain, or the other way round, done in a single step instead of a chain where each step fixes one thing.

Watch where the first redirect lands. A request to http://www.example.com should reach the final address at once, not travel through https://www.example.com on the way. A Strict-Transport-Security header is only honoured on an https response, so the first plain http request still has to be answered with a redirect.

Security headers

Strict-Transport-Security
Tells the browser to use https for this host from now on, even when a link says otherwise.
Content-Security-Policy
Sets where the page may load scripts, styles and frames from. The most effective single header, and the one that needs the most testing.
X-Content-Type-Options
With the value nosniff it stops the browser from guessing a file type other than the declared one.
Referrer-Policy
Controls how much of the current address is passed on to other sites in the Referer header.

Frequently asked questions

Why does the tool show a different answer than my browser?

The browser sends cookies and a different User-Agent, and many sites answer differently depending on the visitor, the cache or the region. The tool sends a clean request with no cookies, which is close to what a crawler receives.

Can I check a page that requires a login?

No. The request carries no cookies and no credentials, so the result is what a logged out visitor gets, usually the login page or a redirect to it.

Which status code should a permanent redirect use?

301, or 308 when the request method has to be preserved. 302 and 307 are temporary and tell caches and search engines that the old address is still the real one.

Should the Server and X-Powered-By headers be removed?

Publishing exact version numbers gives an attacker a ready list of things to try, and neither header helps a visitor. Removing them is not a fix on its own, but there is no reason to keep them.