HSTS: HTTP Strict Transport Security

強まるHTTPS化の圧力の中で、その移行を円滑に進めるための仕組みであるHTTP Strict Transport Securityについてちょっと調べていた。HTTPでアクセスした際にStrict-Transport-Securityヘッダーがあった場合、その後その指定期間はHTTPでアクセスしようとしてもブラウザー側でHTTPSでアクセスするように処理されるという仕組みだ。HTTPからHTTPSへのリダイレクトが不要になるというわけでもないが、ブラウザー側で処理されることによりよりセキュアにHTTPSへの移行を勧めることができるということだろう。

Chrome 42では307 Internal Redirectで処理されるようだ。開発者ツールで確認できる。

Chrome 42ではHTTPへアクセスした場合、仕様通りネットワーク・アクセスなしでちゃんとHTTPSへリダイレクトされる
307 Internal Redirect

HSTSを利用する際に気をつけることはあまりないが、HTTPSの利用を停止する際には十分な準備期間が必要になる。少なくともmax-ageに指定した期間はHTTPSのページを提供していないと、HTTPのページに到達できなくなる。