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

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) も参照してください。