2026年4月16日
HTTPS とは?HTTPとの違い
ウェブサイトのURLを見ると、https:// から始まるものと http:// から始まるものがあります。この違いは何でしょうか?
HTTP(エイチティーティーピー)は HyperText Transfer Protocol の略で、ブラウザとサーバーがデータをやり取りするための通信規則です。
HTTPS(エイチティーティーピーエス)は HTTP Secure の略で、HTTPに 暗号化 を加えたものです。「S」は「Secure(安全な)」を意味します。
なぜHTTPSが重要なの?
HTTPでは、ブラウザとサーバーの間でやり取りされるデータが 暗号化されていません。そのため、悪意のある第三者に通信を盗み見られる可能性があります。
たとえば、HTTPのサイトでパスワードを入力すると、そのパスワードが平文(暗号化されていない文字)で送信されてしまいます。
HTTPSを使うと、通信が暗号化されるため、盗み見られても内容がわかりません。
❌ HTTP:暗号化なし
通信内容が第三者に見える可能性がある
✅ HTTPS:暗号化あり
通信内容が暗号化されて安全
👉 HTMLレッスン1も参考にしてください。
SSL/TLSとは?
HTTPSの暗号化には SSL(エスエスエル) または TLS(ティーエルエス) という技術が使われています。現在は主にTLSが使われていますが、慣習的にSSLと呼ばれることも多いです。
ブラウザのアドレスバーに鍵のアイコン(🔒)が表示されているサイトは、HTTPSで通信が暗号化されています。
🔥 JavaScriptとは?初心者向け解説で実践してみましょう。
SSL証明書とは?
HTTPSを使うには SSL証明書 が必要です。SSL証明書は「このサイトは本物です」と証明するデジタルの証明書です。
証明書は 認証局(CA) という信頼できる機関が発行します。ブラウザは証明書を確認して、サイトが本物かどうかを判断します。
Let's Encrypt(レッツエンクリプト) という無料でSSL証明書を取得できるサービスもあり、個人サイトでも簡単にHTTPS化できます。
💡 CSSとは?初心者向け解説で基礎を確認できます。
HTTPSとSEO
Googleは2014年からHTTPSをSEOのランキング要因の一つとしています。HTTPSのサイトはHTTPのサイトより検索結果で有利になる場合があります。
また、Chromeなどのブラウザは、HTTPのサイトに「保護されていない通信」という警告を表示します。ユーザーの信頼を得るためにも、HTTPSは必須です。
SSL/TLSの仕組み(鍵の例え)
HTTPSの暗号化は、2つの鍵を使って行われます。身近な例で説明しましょう。
南京錠の例え
- サーバーが「開いた南京錠」(公開鍵)をブラウザに送る
- ブラウザはその南京錠でデータを「ロック」して送り返す
- サーバーだけが持っている「鍵」(秘密鍵)でロックを解除する
- 第三者は南京錠を持っていても、鍵がないので開けられない
この仕組みを公開鍵暗号方式といいます。公開鍵(南京錠)は誰でも使えますが、秘密鍵(鍵)はサーバーだけが持っています。
HTTPSが防ぐ3つの脅威
| 脅威 | 内容 | HTTPSでの対策 |
|---|---|---|
| 盗聴 | 通信内容を第三者に見られる | 暗号化により、見られても内容がわからない |
| 改ざん | 通信内容を途中で書き換えられる | データの整合性チェックにより、改ざんを検知できる |
| なりすまし | 偽のサイトに誘導される | SSL証明書により、サイトが本物であることを確認できる |
特に、パスワードやクレジットカード番号を入力するページでは、HTTPSが必須です。
ブラウザの鍵マークの見方
ブラウザのアドレスバーに表示されるアイコンで、サイトの安全性を確認できます。
| アイコン | 意味 | 安全性 |
|---|---|---|
| 🔒 鍵マーク | HTTPS接続。通信が暗号化されている | ✅ 安全 |
| ⚠️ 警告マーク | HTTPSだが一部のコンテンツが暗号化されていない | △ 注意 |
| 🔓 鍵なし / 「保護されていない通信」 | HTTP接続。通信が暗号化されていない | ❌ 危険 |
鍵マークをクリックすると、SSL証明書の詳細(発行者・有効期限など)を確認できます。
よくある間違い
- 「HTTPSなら100%安全」と思い込む:HTTPSは通信の暗号化を保証しますが、サイトの内容が安全かどうかは別問題です。フィッシングサイトでもHTTPSを使っていることがあります。
- 「HTTPのサイトは全部危険」と思い込む:個人情報を入力しないページ(ニュース記事など)であれば、HTTPでも大きなリスクはありません。ただし、パスワードやカード情報を入力するページでは必ずHTTPSを確認しましょう。
- 「SSL」と「TLS」を別物だと思う:SSLはTLSの古い名前です。現在使われているのはTLSですが、慣習的に「SSL証明書」「SSL/TLS」と呼ばれています。
自分のサイトをHTTPS化する方法
- GitHub Pages:自動でHTTPS対応
- Let's Encrypt:無料SSL証明書
- レンタルサーバー:管理画面から設定可能
🔗 DNSの仕組み・Cookieとセキュリティ・GitHub Pagesで公開・開発者ツール・表示速度も参考にしてください。
まとめ
- ✅ HTTP:暗号化なしの通信規則
- ✅ HTTPS:HTTPに暗号化を加えた安全な通信規則
- ✅ SSL/TLS:HTTPSで使われる暗号化技術
- ✅ 鍵アイコン(🔒)があるサイトはHTTPSで安全
- ✅ HTTPSはSEOにも有利。ウェブサイトを作るときは必ずHTTPS化する
- ✅ HTTPSは公開鍵暗号方式で通信を暗号化する
- ✅ 盗聴・改ざん・なりすましの3つの脅威を防ぐ
- ✅ ブラウザの鍵マーク(🔒)でHTTPS接続を確認できる
ウェブセキュリティの基本を知ることは、プログラマーとして大切なスキルです。