HTTP Strict Transport Security (HSTS)

まず、RFC6797のメモ。(前半部分のみ)
・ユーザーに強制的にセキュアな通信(TLS)を使わせるHTTPの拡張。
・ホストからStrict-Transport-Security: max-age=15768000 ; includeSubDomainsのようなヘッダを送信すると、クライアントはageの間はHTTPでアクセスせず、HTTPSでアクセスする(MUST)。
・ホストはセキュアでないリクエストを受けたらセキュアなページにリダイレクトするべき(SHOULD)
・ホストはサブドメインでもHSTSを有効にするよう指定することができる。

chromeの場合
chrome://net-internals/#hsts を開くとAdd/Delete/Query(show) Domainsができる。
自己署名証明書を使っていると、ブラウザでは開けても、HSTS有効にはされない。(RFCには11.3で言及されている)
paypal.comなどいくつかのドメインは前もってHSTSとして定義されている。(常に有効)
・HSTSなホストに対してhttp://example.com とURL入力すると、まずtcp:80にsyn投げてから、その後でhttpsの接続確立してた(なぜ?)