HTTPとHTTPSの違いは、ひとことで言うと 通信が暗号化されているかどうか です。HTTPSは「HTTP + 暗号化(SSL/TLS)」で、盗聴・改ざんを防ぎます。今やWebサイトはHTTPSが標準なので、その仕組みを押さえておきましょう。
HTTPとは
HTTP(HyperText Transfer Protocol)は、ブラウザとWebサーバがページをやり取りするための基本プロトコルです。ただし通信は 平文(暗号化なし)。途中の経路で盗み見られたり、書き換えられたりするリスクがあります。ポートは80番。
HTTPSとは
HTTPS(HTTP Secure)は、HTTPの通信を SSL/TLS で暗号化したものです。ポートは443番。次の3つを実現します。
- 暗号化(盗聴対策): 中身を読まれない
- 完全性(改ざん対策): 途中で書き換えられない
- 認証(なりすまし対策): 本物のサーバであることを証明書で確認
アドレスバーの鍵マークは、HTTPSで通信できているサインです。
暗号化される仕組み(TLSハンドシェイク)
HTTPSは通信の最初に「TLSハンドシェイク」を行います。ざっくり、
- サーバがSSL証明書(公開鍵つき)を提示
- ブラウザが証明書の正当性を確認
- 安全に共通鍵を交換
- 以降はその共通鍵で高速に暗号化通信
公開鍵で安全に鍵を渡し、実データは共通鍵で速く暗号化する、というハイブリッド方式です。
HTTPとHTTPSの違い(まとめ表)
| HTTP | HTTPS | |
|---|---|---|
| 暗号化 | なし(平文) | あり(SSL/TLS) |
| ポート | 80 | 443 |
| 安全性 | 低い | 高い |
| SEO | 不利 | 有利(Googleが推奨) |
なぜ今はHTTPSが必須なのか
- 個人情報やパスワードを守るため
- ブラウザがHTTPを「保護されていない通信」と警告するため
- GoogleがHTTPSをランキング要因にしているため(SEO面でも有利)
まとめ
HTTPは平文、HTTPSはSSL/TLSで暗号化した安全な通信です。鍵の受け渡しにTLSハンドシェイクを使い、盗聴・改ざん・なりすましを防ぎます。セキュリティにもSEOにも効くので、Webサイトは常時HTTPS化が今の標準です。