定義
HTTPSはHTTPをSSL/TLS暗号化接続の上に重ねたもので、ブラウザではhttps://で始まるURLの横に鍵アイコンとして表示され、ブラウザとサーバー間でやり取りされるデータが通信中に読み取られたり改ざんされたりしないようにします。接続はTLSハンドシェイクから始まります。ブラウザは信頼された認証局に対してサーバーの証明書を確認し、暗号スイートを交渉し、セッションキーを導出しますが、これは通常100ミリ秒未満で完了します。それ以降、すべてのリクエスト、レスポンス、Cookie、フォーム送信、認証情報が暗号化されます。HTTPSは今やオプションではなく前提条件です。ブラウザは平文のHTTP上でService Worker、決済API、位置情報、HTTP/2やHTTP/3をブロックまたは制限し、ChromeやFirefoxはHTTPページを「保護されていません」と表示し、Googleは2014年からHTTPSをランキング要因として利用しています。Let's Encryptが提供する数秒で発行され自動更新される無料の証明書により、コストや複雑さを理由にする言い訳はなくなり、現在ではWeb上のほぼすべての本番トラフィックがデフォルトでHTTPSとなっています。
利用方法
ブラウザがHTTPSサイトに接続する際、両端はTLSハンドシェイクを実行します。サーバーの証明書を検証し、暗号鍵に合意し、接続を暗号化モードに切り替えます。それ以降、すべてのリクエストとレスポンスは通信中に暗号化されます。
重要な理由
HTTPSはネットワーク攻撃者からユーザーを保護し、HTTPのみのサイトでは使えない最新のブラウザ機能を解放し、Googleのランキング要因を満たし、訪問者を遠ざける「保護されていません」という警告を取り除きます。2026年において、HTTPのみで許容される本番環境のシナリオは存在しません。