Firefox を使用してウェブを閲覧すると、ブラウザーが自動的に接続を安全性の低い HTTP プロトコルからより安全な HTTPS プロトコルにアップグレードすることがあります。これにより、アクセスするウェブサイトが本物であること、そしてパスワードや個人情報などの送信する情報が暗号化され、傍受から保護されることが保証されます。現在、ほとんどのウェブサイトは HTTPS をサポートしているため、このアップグレードは通常問題なく行われます。ウェブサイト自体は HTTPS をサポートしているにもかかわらず、多くの古いリンクが依然として存在するため、Firefox は、リンクが古い http:// 形式を使用している場合でも、HTTPS 経由で安全に接続しようとすることがあります。これにより、シームレスで安全なブラウジング体験が維持されます。
HTTP と HTTPS の違いは何ですか?
HTTP は Hypertext Transfer Protocol の略です。ウェブの基本プロトコルであり、ブラウザーとウェブサーバー間の基本的なやり取りを暗号化します。通常の HTTP プロトコルの問題点は、サーバーからブラウザーへのデータ転送が暗号化されていないことによる、データの閲覧、盗難、改ざんです。HTTPS プロトコルは、トランスポート層セキュリティ (TLS) 証明書を使用することでこの問題を解消します。これにより、サーバーとブラウザーの間に安全な暗号化接続が確立され、機密情報が保護されます。
様々なアップグレードの仕組み
接続時のアップグレードの仕組みは、次の 2 つの要素に基づいてグループ化できます。
- アップグレードを開始者 (ブラウザーまたはウェブサーバー)。
- アップグレードされる接続の形式。
以下のセクションでは、これらのメカニズムについて詳しく説明します。
サーバーが開始したアップグレード
ウェブサーバーが HTTPS をサポートしていることを示すと、ブラウザーは自動的に安全な接続に切り替えることができます。サーバーはこれを実現するためにいくつかの方法を使用できます。
- HTTP Strict Transport Security (HSTS) は、ウェブサイトが安全な接続をサポートしていることをブラウザーに伝えるための標準であり、ブラウザーは今後の接続のためにこれを記憶します。これは、そのようなサイトの組み込みリストである HSTS プリロードリスト によって補足されます。
- HTTPS リソース レコード (HTTPS RR) は、ウェブサーバーが HTTPS をサポートしていることをブラウザーに伝える特別な DNS エントリです。
- 技術的には接続のアップグレードではありませんが、多くのウェブサイトは 301 Moved Permanently のようなリダイレクトステータスコードを使用して HTTP 接続を HTTPS にリダイレクトします。
ブラウザーによるアップグレード
ブラウザーは、ウェブサーバーが HTTPS をサポートしているかどうかを判断できない場合でも、接続のアップグレードを試みる可能性があります。 HTTPS は広くサポートされているため、このプロセスは多くの場合成功します。 Firefox は、ブラウザーによって開始されるいくつかのアップグレード機能をサポートしています。
- HTTPS-First は Firefox バージョン 136 以降で利用できる機能です。これにより、失敗した場合に HTTP にフォールバックする前に、すべての接続が最初に HTTPS の使用を試みることが保証されます。これにより、ユーザーの作業を中断することなく、常に最も安全なオプションが選択されます。
- HTTPS 専用モード は、ユーザーが最初にプロンプトを表示せずに Firefox が安全でない接続を確立しないようにするためにユーザーが有効にできる設定です。現在、ほとんどのサイトが HTTPS をサポートしているため、ユーザーは HTTP ウェブサイトにアクセスしたときに HTTPS 専用モードからの頻繁なプロンプトにイライラするかもしれません。このため、デフォルトでは有効になっていません。
- 何らかの接続アップグレードを実行するウェブ拡張機能がいくつかあります。これらは主に、専門家向けの特定のユースケースに役立ちます。
その他のリクエスト
上で説明したメカニズムは主に、アドレスバーへの URL の入力やリンクのクリックなどの「トップレベル」またはナビゲーションリクエストに適用されます。Firefox は、ウェブページの画像やその他のサブリソースのダウンロードなど、他の種類のリクエストも処理します。 Firefox の HTTPS-Only モード はすべてのリクエストに適用されますが、サブリソースは通常、以下のメカニズムを使用してアップグレードされます。
- ウェブページ上の コンテンツセキュリティポリシー (CSP) における upgrade-insecure-requests ディレクティブは、サブリソース要求をアップグレードします。
- 混在コンテンツ アルゴリズムにより、サイトのトップレベルのリクエストが暗号化されている場合、サブリソースも安全にロードされるか、接続がブロックされることが保証されます。