HTTPS(Hypertext Transfer Protocol Secure)はHTTPの暗号化版です。ブラウザがWebサイトと通信するために使用するプロトコルです。サイトがHTTPSを使用する場合、ブラウザとサーバー間のすべてのデータが暗号化され、間にいる誰も読み取ったり改変したりできません。
URLのhttps://プレフィックスとブラウザのアドレスバーのパドロックアイコンで、サイトがHTTPSを使用していることがわかります。2026年時点で、Webサイトの86.9%がHTTPSを使用しており、ブラウザはすべてのHTTPサイトを「保護されていない通信」と表示しています。
HTTPSの仕組み
HTTPSは通常のHTTPの上にTLS(Transport Layer Security)暗号化を追加します。HTTPS Webサイトにアクセスすると、ミリ秒単位でTLSハンドシェイクが行われます:
- ブラウザが接続 — サポートするTLSバージョン、暗号スイート、乱数をサーバーに送信
- サーバーが応答 — 選択した暗号スイート、SSL/TLS証明書(公開鍵を含む)、乱数
- ブラウザが検証 — 証明書が期限切れでないか、ドメインと一致するか、信頼された認証局が署名しているか確認
- セッション鍵をネゴシエート — 両側が非対称暗号(Diffie-Hellman鍵交換)を使用して共有セッション鍵に合意
- 暗号化通信が開始 — 以降のすべてのデータは対称セッション鍵で暗号化
ハンドシェイク後、すべてが暗号化されます:HTML、画像、CSS、JavaScript、フォーム送信、Cookie、APIレスポンス、URLパス。
HTTP vs HTTPS
| HTTP | HTTPS | |
|---|---|---|
| 暗号化 | なし — 平文で送信 | すべてのデータがTLSで暗号化 |
| デフォルトポート | 80 | 443 |
| URLプレフィックス | http:// | https:// |
| 証明書が必要 | いいえ | はい(SSL/TLS証明書) |
| ブラウザ表示 | 「保護されていない通信」警告 | パドロックアイコン |
| データ完全性 | なし — 転送中にデータ改変可能 | あり — 改ざんが検出される |
| 認証 | なし — サーバーが本物である証明なし | 証明書がサーバーIDを証明 |
| SEOシグナル | ネガティブ(2014年以降) | ポジティブ(Googleランキング要因) |
| HTTP/2サポート | なし(実際には) | あり — より高速なページ読み込み |
| 必要とされるもの | 現代的なものは何もない | Service Worker、Geolocation、Camera/Mic API、決済フォーム |
ギャップはセキュリティだけではありません。HTTPSはHTTPが使用できない最新Web機能を有効にします。ブラウザはService Worker、Geolocation API、Clipboard API、その他の強力なAPIをHTTPSオリジンのみに制限しています。
すべてのWebサイトにHTTPSが必要な理由
プライバシー
HTTPSなしでは、同じネットワーク上の誰でもあなたが何をしているか正確に見ることができます。カフェのWi-Fiオペレーター、企業プロキシ、ISP — すべてのページ訪問、フォーム送信、Cookie通過を読み取れます。HTTPSはこのすべてを暗号化します。
これは理論的な話ではありません。ISPが暗号化されていないHTTPトラフィックに広告やトラッキングコードを注入していたことが文書化されています。
データの完全性
HTTPSは受信データが転送中に改変されていないことを保証します。これなしでは、悪意のあるネットワークオペレーターが:
- ページに広告や暗号通貨マイナーを注入
- ダウンロードリンクをマルウェアに置き換え
- Webサイト上の価格や条件を改変
- トラッキングスクリプトを挿入
HTTPSはいかなる改変も検出し、ブラウザは改ざんされたデータを拒否します。
認証
証明書は実際のサーバーに接続していることを証明し、なりすましではないことを確認します。HTTPSなしでは、悪意のあるWi-Fiホットスポット(「Free Airport WiFi」と名付けられた)が任意のWebサイトの偽バージョンに静かにリダイレクトできます。HTTPSでは、偽サイトはドメインの有効な証明書を提示できず、ブラウザが接続をブロックします。
SEO
Googleは2014年からHTTPSをランキングシグナルとして使用しています。軽量なシグナル(Googleは「同点の場合の決定要因」と表現)ですが、実装が最も容易なシグナルの1つです。より重要なのは、HTTPページがChromeの「保護されていない通信」警告を引き起こし、直帰率が上昇すること — 直帰率は間接的にランキングに影響します。
パフォーマンス
HTTPSは遅いという一般的な誤解があります。実際には:
- TLSハンドシェイクは1ラウンドトリップ(TLS 1.3)または2(TLS 1.2)を追加 — 通常10〜50ms
- HTTP/2(HTTPSが必要)は多重化、ヘッダー圧縮、サーバープッシュによりHTTP/1.1よりも大幅に高速
- セッション再開により再訪問者のハンドシェイクオーバーヘッドが排除(TLS 1.3の0-RTT)
- 最新CPUはAES暗号化をハードウェアで処理(AES-NI)— CPUコストはごくわずか
実際にはHTTP/2を使用したHTTPSサイトはHTTP/1.1サイトよりも高速に読み込まれます。
ブラウザの要件
最新ブラウザは強力なAPIをセキュアコンテキスト(HTTPSのみ)に制限しています:
- Service Workers — PWA、オフラインサポート、プッシュ通知に必要
- Geolocation API — GPSと位置情報アクセス
- Camera/Microphone — ビデオ通話用
getUserMedia() - Clipboard API — クリップボードからの読み取り
- Payment Request API — ネイティブ決済UI
- Web Bluetooth, Web USB — ハードウェアアクセス
これらの機能が必要なサイトでは、HTTPSはオプションではなく必須です。
よくある誤解
「HTTPSはログインページと決済にだけ必要」 すべてのページがHTTPSを使用すべきです。静的なブログ記事でもHTTPで盗まれる可能性のあるCookieを送信します。HTTPページは悪意のあるコンテンツを注入するために転送中に改変される可能性があります。ブラウザは現在、フォームのあるページだけでなく、すべてのHTTPページに警告を表示します。
「HTTPSはサイトを遅くする」 TLS 1.3は初回接続で約10〜40msを追加します。HTTP/2(HTTPSが必要)は多重化と圧縮でそれを上回ります。セッション再開は再訪問をさらに高速にします。最新ハードウェアでは暗号化自体がCPU命令(AES-NI)で処理され、測定可能なオーバーヘッドは追加されません。
「HTTPS証明書は高い」 Let’s Encryptは証明書を無料で発行します。主要企業や政府サイトを含む3億以上のWebサイトが使用しています。GetHTTPSでソフトウェアをインストールせずに5分で取得できます。
「パドロックアイコンはサイトが安全という意味」 パドロックは接続が暗号化されていることを意味し、Webサイト自体が信頼できるという意味ではありません。フィッシングサイトの90%以上が現在HTTPSを使用しています。パドロックは誰に接続しているかを確認し(証明書経由)、彼らが誠実かどうかは確認しません。
WebサイトでHTTPSを有効にする方法
-
証明書を取得 — GetHTTPSを使用してブラウザで無料のLet’s Encrypt証明書を取得。インストール不要、アカウント不要。
-
サーバーにインストール — Nginx、Apache、cPanel、WordPress、IIS、Dockerのガイドを参照。
-
HTTPからHTTPSへリダイレクト — すべてのトラフィックをセキュアバージョンに強制。リダイレクトガイド →
-
混合コンテンツを修正 — すべてのリソース(画像、スクリプト、CSS)がHTTPS経由で読み込まれることを確認。混合コンテンツガイド →
-
更新を設定 — Let’s Encrypt証明書は90日間有効。更新ガイド →
HTTPSの将来
証明書有効期間が短縮中。 CA/Browser Forumは最大証明書有効期間を2029年までに47日に短縮することを決議しました。これにより自動更新ツール(Certbot、acme.sh)や使いやすい手動ツール(GetHTTPS)の重要性がますます高まります。
HTTP/3とQUIC。 次世代のHTTPはQUIC上で動作し、トランスポート層に暗号化が組み込まれています — 暗号化されていないバージョンは存在しません。HTTPSはもはやレイヤーではなく、プロトコル自体と不可分になりつつあります。
Encrypted Client Hello(ECH)。 TLS 1.3はハンドシェイクのほとんどを暗号化しますが、SNI(Server Name Indication)— 接続先のドメインを示す — はまだ可視です。ECHはSNIも暗号化し、共有サーバー上でどの特定サイトに接続しているかネットワーク観察者が見ることを不可能にします。
よくある質問
HTTPSは本当に安全ですか?
最新のTLS(1.2または1.3)によるHTTPSは、盗聴と改ざんに対して非常に安全です。適切に設定されたTLS 1.3に対する実用的な攻撃は存在しません。残るリスクはエンドポイント(デバイス上のマルウェア、侵害されたサーバー)にあり、暗号化接続自体ではありません。
静的WebサイトにもHTTPSは必要ですか?
はい。フォームやログインがなくても、HTTPSはコンテンツの注入(広告、マルウェア)を防ぎ、訪問者のプライバシー(どのページを閲覧しているか)を保護し、HTTP/2(高速な読み込み)を有効にし、「保護されていない通信」のブラウザ警告を回避します。
HTTPSはSEOに影響しますか?
はい。Googleは2014年にHTTPSをランキングシグナルとして確認しました。軽量なシグナルですが、「保護されていない通信」警告(直帰率を上昇させる)と合わせて、HTTPサイトは測定可能なSEOの不利を受けます。
SSLとTLSの違いは何ですか?
SSL(Secure Sockets Layer)は1990年代にNetscapeが作成した元の暗号化プロトコルです。TLS(Transport Layer Security)がそれを置き換えました。すべてのSSLバージョンは非推奨で安全ではありません。今日「SSL証明書」と言うとき、TLSで使用される証明書を意味しています。実際には用語は互換的に使用されています。
HTTPSの費用はいくらですか?
ゼロ — Let’s Encryptを使用すれば。GetHTTPSはブラウザ内で直接Let’s Encrypt証明書を無料で発行します。有料証明書($50-500/年)も存在しますが、同じ暗号化強度を提供します — 違いはID検証レベルであり、セキュリティではありません。
HTTPSはすべての攻撃から保護しますか?
いいえ。HTTPSは転送中のデータを保護します — 盗聴、改ざん、サーバーのなりすましを防ぎます。保護しないもの:ユーザーのデバイス上のマルウェア、アプリケーションコードの脆弱性(XSS、SQLインジェクション)、フィッシング(パドロックはサイトが誠実という意味ではない)、サーバー側の侵害。