HTTP・HTTPS
まず結論
HTTP(HyperText Transfer Protocol)はWebブラウザとサーバーの通信規約です。HTTPSはHTTPをTLS/SSLで暗号化したもの。ステータスコード(200/404/500等)とリクエスト/レスポンスの構造が試験の頻出ポイントです。
HTTPの通信の流れ
クライアント
(ブラウザ)
(ブラウザ)
① HTTPリクエスト
GET /index.html HTTP/1.1
GET /index.html HTTP/1.1
→
←
② HTTPレスポンス
200 OK + HTMLデータ
200 OK + HTMLデータ
サーバー
(Webサーバ)
(Webサーバ)
ポート番号:HTTP=80番、HTTPS=443番
HTTPメソッド
GET
データの取得。URLにパラメータを付加。
ブラウザのアドレスバーに表示される。
POST
データの送信(フォーム投稿等)。
本文(body)にデータを格納。URLに表示されない。
PUT
データの更新(上書き)。
REST APIで使用。
DELETE
データの削除。
REST APIで使用。
HTTPステータスコード(必須暗記)
| コード | 意味 | 具体例 |
|---|---|---|
| 200 | OK(成功) | ページが正常に返された |
| 301 | Moved Permanently(恒久リダイレクト) | URLが恒久的に移動した |
| 302 | Found(一時リダイレクト) | URLが一時的に移動した |
| 400 | Bad Request(不正なリクエスト) | 構文エラーのリクエスト |
| 401 | Unauthorized(認証が必要) | ログインが必要なページ |
| 403 | Forbidden(禁止) | アクセス権なし |
| 404 | Not Found(未発見) | ページが存在しない |
| 500 | Internal Server Error(サーバーエラー) | サーバー側の障害 |
| 503 | Service Unavailable(利用不可) | サーバー過負荷・メンテナンス |
ステータスコードの分類:1xx=情報、2xx=成功、3xx=リダイレクト、4xx=クライアントエラー、5xx=サーバーエラー
HTTPとHTTPSの違い
HTTP
❌ 平文(暗号化なし)
❌ 盗聴・改ざんのリスクあり
✅ ポート80番
旧来のプロトコル
HTTPS
✅ TLS/SSLで暗号化
✅ 盗聴・改ざん防止
✅ ポート443番
✅ サーバー認証(証明書)
TLS(Transport Layer Security):HTTPSで使われる暗号化プロトコル。旧称SSL。公開鍵暗号方式でセッション鍵を交換し、その後は共通鍵で通信を暗号化する。
🎯 試験での出方
- ステータスコードの意味を選ぶ問題(404・200・500は必須)
- 「GETとPOSTの違い」→ URLへの露出、用途の違い
- 「HTTPSが使うプロトコル」→ TLS/SSL
- 「HTTPSのポート番号」→ 443番
⚠️ よくある間違い
- 「404はサーバーエラー」→ ✗ 404はクライアントエラー(4xx)。サーバーエラーは5xx
- 「HTTPのポートは443番」→ ✗ HTTPは80番、HTTPSが443番
- 「POSTはGETより安全」→ △ BodyにデータがあるのでURLに表示されないが、HTTPSなしでは盗聴される
✍️ 確認クイズ
Q1. HTTPステータスコード「404」が意味するものはどれか。
✅ 正解は③。404 Not Foundはリクエストされたリソース(ページ等)がサーバーに存在しない場合に返されるクライアントエラーです。
Q2. HTTPSがHTTPと異なる点はどれか。
✅ 正解は②。HTTPSはHTTPにTLS(旧称SSL)による暗号化を加えたプロトコル。ポートは443番。盗聴・改ざん・なりすましを防ぐ。
Q3. フォームでパスワードを送信する場合に適切なHTTPメソッドはどれか。
✅ 正解は②。POSTはデータをリクエストBodyに格納するため、URLに表示されません。パスワードのような機密情報の送信に適しています(HTTPSとの併用が必須)。
Q4. HTTPステータスコードの分類で「5xx」が示すものはどれか。
✅ 正解は②。ステータスコードの分類:1xx=情報、2xx=成功(200 OKなど)、3xx=リダイレクト(301,302)、4xx=クライアントエラー(400,401,403,404)、5xx=サーバーエラー(500 Internal Server Error、503 Service Unavailable)。試験では「404は何エラーか」「500は何を意味するか」という問題が出ます。
Q5. HTTPのGETメソッドとPOSTメソッドの比較として正しいものはどれか。
✅ 正解は③。GETはURLの末尾に「?key=value」形式でパラメータを付加するため、URLに表示されます(ブックマーク可能、キャッシュ可能)。POSTはBodyにデータを格納するため、URLには表示されません(フォーム送信・ファイルアップロードに使用)。機密情報はGETではなくPOSTで送るべきです(HTTPSも必要)。
Sponsor Link