HTTPとHTTPSの違い
Webサイトを閲覧するとき、ブラウザのアドレスバーに表示されるURLの先頭部分に注目してみてください。http://で始まるものとhttps://で始まるものがあります。この「s」はSecure(安全)の頭文字です。
HTTPは「HyperText Transfer Protocol」の略で、ブラウザとサーバー間でデータをやり取りするためのルール(通信規約)です。HTTPSはこのHTTPに暗号化の仕組みを追加したものです。
例えるなら、HTTPは「はがき」のようなもの。配達途中で誰でも内容を読める状態です。一方、HTTPSは「封書」のようなもの。中身が暗号化されているので、途中で誰かが覗いても内容は読めません。
暗号化の仕組み(SSL/TLS)
HTTPSの暗号化を支えているのがSSL/TLSという技術です。現在は主にTLS(Transport Layer Security)が使われています。
通信が始まるとき、以下のような流れで安全な接続が確立されます:
- ハンドシェイク:ブラウザとサーバーが「暗号化の方法」を決める
- 証明書の確認:サーバーがSSL証明書を提示し、ブラウザが「本物のサイトか」を確認する
- 鍵の交換:暗号化に使う「鍵」を安全に共有する
- 暗号化通信の開始:以降のやり取りはすべて暗号化される
例えば、カフェのWi-Fiでネットショッピングをするとき、HTTPSなら入力したクレジットカード情報は暗号化されるので、同じWi-Fiを使っている他の人に盗み見られる心配がありません。
なぜHTTPSが必要なのか
HTTPSが必要な理由は大きく3つあります:
- 盗聴の防止:パスワードや個人情報が暗号化されるため、第三者に読み取られません
- 改ざんの防止:通信途中でデータが書き換えられていないことを保証します
- なりすましの防止:SSL証明書により、接続先が本物のサイトであることを確認できます
特に問い合わせフォームやログイン機能があるサイトでは、HTTPSは必須と言えます。
GoogleはHTTPSを評価する
Googleは2014年から、HTTPSを検索順位の評価要素に含めると公式に発表しています。つまり、同じ内容のサイトであれば、HTTPSのサイトの方が検索結果で上位に表示されやすくなります。
また、Google Chromeでは、HTTPのサイトにアクセスすると「保護されていない通信」という警告が表示されます。この警告はユーザーに不安を与え、サイトの信頼性を大きく損なう原因になります。
HTTPSの設定方法
HTTPSを導入するには、SSL/TLS証明書を取得してサーバーに設定する必要があります。
- Let's Encrypt:無料で証明書を取得できるサービス。多くのレンタルサーバーが対応しています
- レンタルサーバーの管理画面:ワンクリックでHTTPSを有効化できるサービスも多いです
- CDNサービス:CloudflareなどのCDNを使えば、簡単にHTTPS化できます
HTTPS化した後は、HTTPからHTTPSへのリダイレクト設定も忘れずに行いましょう。古いURLでアクセスしたユーザーも、自動的にHTTPSのページに転送されるようになります。