メインコンテンツまでスキップ

HTTPとHTTPS

HTTP は、ブラウザとサーバーが Web ページの情報をやり取りするためのルールです。

HTTPS は、HTTP の通信を暗号化して、より安全にしたものです。

ブラウザでページが開く流れ

ブラウザで URL を開くと、裏側では次のようなやり取りが起きます。

  1. ブラウザが URL を読む
  2. ドメインから接続先のサーバーを探す
  3. ブラウザがサーバーへリクエストを送る
  4. サーバーが HTML や画像などをレスポンスとして返す
  5. ブラウザが画面に表示する
ブラウザ → リクエスト → サーバー
ブラウザ ← レスポンス ← サーバー

HTTPとは

HTTP は HyperText Transfer Protocol の略です。

Web ページ、画像、CSS、JavaScript、API のデータなどを送受信するために使われます。

http://example.com/

ただし HTTP の通信は暗号化されません。ログイン、フォーム送信、決済などの情報を扱うサイトでは、HTTP のままだと安全ではありません。

HTTPSとは

HTTPS は、HTTP に暗号化を加えた通信です。

https://example.com/

HTTPS では、通信の途中で内容を盗み見されたり、改ざんされたりする危険を減らせます。

現在の Web サイト公開では、基本的に HTTPS で公開する のが標準です。

HTTPとHTTPSの違い

比較HTTPHTTPS
URLhttp://https://
暗号化なしあり
フォーム送信避けたい推奨
ブラウザ表示警告が出ることがある鍵マークが表示されやすい
現在の公開サイト非推奨標準

HTTPSに必要な証明書

HTTPS には、サーバーが本物であることを示す SSL/TLS 証明書 が使われます。

GitHub Pages、Vercel、Netlify、Cloudflare などのサービスでは、証明書を自動で用意してくれることが多いです。

独自ドメインを使う場合は、DNS 設定が正しく反映されたあとに HTTPS が有効になります。

よく見るステータスコード

HTTP のレスポンスには、結果を表すステータスコードが含まれます。

コード意味よくある場面
200成功ページが正常に表示された
301恒久的なリダイレクト古い URL から新しい URL へ移動
302一時的なリダイレクトログイン画面などへ一時移動
404見つからないURL やファイル名が間違っている
500サーバーエラーサーバー側の処理で問題が起きた

ページが開けないときは、ステータスコードを見ると原因を絞りやすくなります。

ローカル開発のHTTP

自分の PC で開発中に見る URL は、HTTP のことがあります。

http://localhost:3000/

localhost は自分の PC を表す特別な名前です。ローカル開発では HTTP でも問題ない場面が多いですが、公開サイトでは HTTPS にしましょう。

公開前のチェック

  • 本番サイトが https:// で開ける
  • http:// で開いたときに https:// へリダイレクトされる
  • ブラウザに危険なサイトの警告が出ない
  • フォームやログインページが HTTPS で表示される
  • Search Console や AdSense に登録する URL が HTTPS になっている

独自ドメインを設定する具体的な手順は、独自ドメイン設定(Cloudflare + GitHub Pages) も参照してください。