http(Hyper Text Transfer Protocol)
🌐 HTTPとは?
HTTP(HyperText Transfer Protocol)は、Webブラウザとサーバが情報をやり取りするための通信ルールです。現在のインターネットにおいて、Webページの閲覧やAPI通信など、広範に使用されています。
HTTPは「ステートレス(Stateless)」なプロトコルです。一度の通信で接続は終了し、状態は保存されません。このため、セッション管理にはクッキーやトークンなどが使われます。
🔁 HTTPのリクエストとレスポンス
リクエスト(Request)
クライアント(例:ブラウザ)がサーバに「こういう情報がほしい」と送るメッセージです。
構成要素:
メソッド(GET, POST など)
パス(例:/index.html)
ヘッダー(例:User-Agent)
ボディ(POSTのときなど)
レスポンス(Response)
サーバがクライアントに返す応答です。
構成要素:
ステータスコード(例:200 OK)
ヘッダー(例:Content-Type)
ボディ(HTML, JSONなど)
📥 主なHTTPメソッド
実際にはGETとPOSTがほとんどの用途で使われており、PUTやDELETEなどはRESTful APIでよく見かけます。
🚦 ステータスコード(HTTPレスポンスコード)
HTTPレスポンスは数値で結果を表します。以下は代表的なものです。
✅ 1xx: 情報(Informational)
100 Continue: リクエスト継続してOK
🟢 2xx: 成功(Success)
200 OK: 正常に成功
201 Created: リソースが作成された(POSTなど)
🔄 3xx: リダイレクト(Redirection)
301 Moved Permanently: 恒久的な移動
302 Found: 一時的な移動
304 Not Modified: キャッシュを使ってOK
🟡 4xx: クライアントエラー(Client Error)
400 Bad Request: リクエストが不正
401 Unauthorized: 認証が必要
403 Forbidden: アクセス禁止
404 Not Found: ページが見つからない
405 Method Not Allowed: 許可されていないメソッド
🔴 5xx: サーバエラー(Server Error)
500 Internal Server Error: サーバ側の一般的なエラー
502 Bad Gateway: ゲートウェイが無効な応答を受け取った
503 Service Unavailable: サーバが一時的に利用不可
【警告】
5xx系のエラーが頻発する場合、サーバ構成やアプリケーションに重大な問題がある可能性があります。
🧭 HTTPとHTTPSの違い
HTTP: 暗号化されない(平文通信)
HTTPS: TLSで暗号化され、安全性が高い
現在のWebはHTTPSが標準になっています。HTTPはセキュリティ面で危険なため、基本的には使用を避けるべきです。