Strict-Transport-Security Header

Table of Content

The HTTP Strict-Transport-Security (HSTS) header is a security mechanism that web servers use to protect websites against man-in-the-middle attacks such as protocol downgrade attacks and cookie hijacking. It ensures that web browsers only interact with the server over a secure HTTPS connection, not the insecure HTTP.

Syntax

Strict-Transport-Security: max-age=<expire-time> 
Strict-Transport-Security: max-age=<expire-time>; includeSubDomains 
Strict-Transport-Security: max-age=<expire-time>; preload

Directives

  • max-age=<expire-time>: This directive dictates the amount of time, in seconds, the browser should remember that this site is only accessible using HTTPS.
  • includeSubDomains: If this optional directive is specified, this rule applies to all the site's subdomains as well.
  • preload: This optional directive is used to conform to the HSTS preload list submission requirements.

Examples

The following examples indicate that the browser should remember to use HTTPS for the next year, including subdomains:

Strict-Transport-Security: max-age=31536000; includeSubDomains

For preloading, the following can be used:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Browser Compatibility

Browser Compatibility
Chrome Supported
Firefox Supported
Safari Partially Supported
Opera Supported
Edge Supported

How to modify Strict-Transport-Security header

ModHeader is a chrome extension that allows users to modify HTTP request headers. It can be used to modify the Strict-Transport-Security header. To modify, click on the ModHeader icon on the toolbar, enter 'Strict-Transport-Security' in the 'Response header' box, and enter your header value in the 'value' box.

Example:

For setting the max-age to a year and including subdomains,

  • In the 'Response header' box, enter Strict-Transport-Security.
  • In the 'value' box, enter max-age=31536000; includeSubDomains.

Then, all subsequent HTTP requests made via your browser will include this modified header. It can be especially useful for website developers testing how their site responds to different strict transport security scenarios.