1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HTTP通信について基礎から理解する【GET/POSTの違い・ステートレス・Cookie/Session・REST・HTTPSも解説】

1
Posted at

Web 開発を始めると必ず登場する HTTP通信
本記事では、HTTPメソッドの基礎、GET と POST の違い、ステートレスという概念、そして Web エンジニアとして次に学ぶべき周辺技術まで一気に理解できる内容をまとめています。


🚀 1. HTTPとは?

HTTP(HyperText Transfer Protocol)は
ブラウザとサーバーがデータをやり取りするための通信ルール(プロトコル) です。

Web アプリ・REST API・モバイルアプリのほとんどが HTTP を使っています。


🔽 2. HTTPメソッドの基本

HTTPでは、サーバーに対して「何をしてほしいか」を メソッド で伝えます。

メソッド 内容
GET データを取得
POST データを作成・更新
PUT データを全更新
PATCH データを部分更新
DELETE データを削除

最も使用頻度の高い GET と POST の違い を次で説明します。


🔍 3. GETメソッドの特徴

GET は データを取得 するメソッドです。

✨ 特徴まとめ

  • パラメータは URL に含まれる

GET /search?keyword=apple&page=1

  • Body は空
  • キャッシュが有効
  • URLに露出するためログ等に残りやすい
  • 送信できるデータ量はやや少なめ(URL長制限)

📎 GETリクエスト例

GET /path?param1=value&param2=value HTTP/1.1
Host: example.com


📝 4. POSTメソッドの特徴

POSTは データの作成・更新 をサーバーに依頼するメソッドです。

✨ 特徴まとめ

  • Body にパラメータを入れて送信する
  • URLにデータが出ない
  • キャッシュは基本無効
  • 大量データの送信が可能
  • APIでの書き込み処理で広く利用される

📎 POSTリクエスト例

POST /path HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded

param1=value&param2=value


🧠 5. HTTPの重要概念:ステートレス

HTTPは ステートレス(stateless) なプロトコルです。

📌 ステートレスとは?

サーバーはリクエスト間の状態を覚えない

つまり・・・

  • 1回目のリクエスト内容 → 2回目のリクエストに引き継がれない
  • 全ての通信が独立して扱われる

これは「Web を巨大にスケールさせるための設計思想」です。


📚 ステートフルとの比較

プロトコル 説明
HTTP(ステートレス) 各リクエストが独立。状態を保持しない。
FTP / SSH(ステートフル) 接続を維持しながら通信する。

🏁 6. GET と POST の違いまとめ

項目 GET POST
用途 データ取得 データ作成・更新
パラメータ送信 URL Body
URLに露出 する しない
キャッシュ 有効 無効
データ量制限 あり 少量〜中量が目安
主な用途 検索、一覧表示 フォーム送信、API更新

7. HTTPの理解をさらに深めるために

HTTPを理解した次は、以下4つを学ぶと Web の仕組みが一気に繋がります。


🍪 7-1. Cookie / Session(ステートレスを補う技術)

HTTP がステートレスであるため、
ログイン状態の保持ショッピングカートの管理 を実現するには仕組みが必要です。

それが CookieSession


🔸 Cookie とは?

  • ブラウザに保存される小さなデータ
  • サーバーがレスポンスに含めて設定する
  • 次回リクエスト時にブラウザが自動送信する

用途例:

  • ログイン状態の維持
  • トラッキング
  • ユーザー設定の保存(言語など)

🔸 Session とは?

  • サーバー側にユーザー情報を保存する仕組み
  • Cookie には Session ID だけ保存する

仕組みはこう:

  1. ユーザーがログイン
  2. サーバーは Session ID を発行
  3. ブラウザの Cookie に保存
  4. 以後、その Session ID を使いサーバーがユーザーを識別

ステートレスなHTTPでも状態を保てるようになる


🧩 7-2. REST API の設計

REST(Representational State Transfer)は、
HTTP を使ってシンプルで分かりやすい API を作るための設計思想 のこと。

REST の特徴:

  • URL(リソース)と HTTP メソッドを組み合わせて操作を表現
  • シンプルで統一されたインターフェース
  • Web との相性が非常に良い

REST の具体例

操作 HTTPメソッド URL
ユーザー一覧取得 GET /users
新規ユーザー作成 POST /users
ユーザー情報の更新 PUT/PATCH /users/:id
ユーザー削除 DELETE /users/:id

→ Web API を設計する上で必須知識。


🚦 7-3. HTTPステータスコード(200, 404, 500 など)

HTTPレスポンスには、必ず ステータスコード が含まれます。

超重要なので最低これだけ覚えてください:

コード 意味
200 OK 成功 通常の成功レスポンス
201 Created 作成成功 POST の成功
400 Bad Request リクエストが不正 パラメータ不足
401 Unauthorized 認証エラー ログインが必要
403 Forbidden 権限エラー 権限がない
404 Not Found 見つからない URLが違う
500 Internal Server Error サーバーエラー バグ・障害

🔐 7-4. HTTPS と セキュリティ

HTTPS は HTTP + SSL/TLS の仕組みであり、

通信内容を暗号化して安全にするプロトコル

HTTP との違い:

項目 HTTP HTTPS
暗号化 なし あり
セキュリティ 弱い 強い
URL http:// https://

HTTPS が解決する問題

  • パスワードが盗聴される
  • Cookie が抜かれる
  • 中間者攻撃で改ざんされる

これらを すべて防ぐ のが HTTPS です。

現在の Web では 必須レベル の技術です。


🎯 8. まとめ

  • HTTP は Web 通信の基礎プロトコル
  • GET は「取得」、POST は「作成・更新」
  • HTTP は ステートレス
  • 状態保持は Cookie / Session を使う
  • REST API は HTTP の標準設計手法
  • ステータスコードは API開発に必須
  • HTTPS は通信を安全に暗号化する
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?