メインコンテンツへスキップ

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 データの取得(URLに情報を含む) POST データの送信(主にフォーム送信など) PUT データの置換(リソース全体を上書き) PATCH データの一部更新 DELETE データの削除 HEAD ヘッダーだけ取得(本文なし) OPTIONS 利用可能なメソッドを問い合わせる

          実際には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はセキュリティ面で危険なため、基本的には使用を避けるべきです。


                      📚 まとめ

                      項目 説明 プロトコル HTTP / HTTPS(暗号化あり) 特徴 ステートレス、クライアント-サーバ型 メソッド GET / POST / PUT / DELETE など レスポンス ステータスコードで結果を通知