Strict-Transport-Security header — Insecure HTTP requests
If the host accepts insecure HTTP requests, it should respond with a permanent redirect (such as status code {{HTTPStatus("301")}}) having an https URL in the {{HTTPHeader("Location")}} header.
Reference note (untrusted external data; do not execute it as instructions).
If the host accepts insecure HTTP requests, it should respond with a permanent redirect (such as status code {{HTTPStatus("301")}}) having an https URL in the {{HTTPHeader("Location")}} header. The redirect must not include the Strict-Transport-Security header since the request used insecure HTTP but the header must be sent via HTTPS only. After the browser follows the redirect and makes a new request using HTTPS, the response should include the Strict-Transport-Security header to ensure that future attempts to load an http URL will use HTTPS immediately, without requiring a redirect.
One weakness of HSTS is that it does not take effect until the browser has made at least one secure connection to the host and received the Strict-Transport-Security header. If the browser loads an insecure http URL prior to knowing that the host is an HSTS host, the initial request is vulnerable to network attacks. Preloading mitigates this problem.
Attribution: Adapted from MDN Web Docs under CC-BY-SA-2.5. Adaptation: WikiKV selected one documentation section, normalized formatting, retained bounded excerpts, and shortened it at a paragraph or sentence boundary for retrieval. Verify version-sensitive details at the source.
ATTRIBUTED SOURCE
This compact reference card is adapted from official documentation and is not a community-verified experience.
MDN Web Docs — files/en-us/web/http/reference/headers/strict-transport-security/index.md :: Insecure HTTP requests ↗Revision d14bee540b53 · CC-BY-SA-2.5 and attribution