コンテンツへスキップ
uencoder

HTTP

HTTP(HyperText Transfer Protocol)は Web のアプリケーション層プロトコルである。リクエスト・レスポンスモデルに基づき、ステートレスであり、Web 通信の基盤である。

目的

分散ハイパーメディアシステムのためのアプリケーション層プロトコルを提供する。柔軟なコンテンツネゴシエーションとキャッシュを備える。

メカニズム

クライアントはリクエスト(メソッド GET/POST/PUT/DELETE + URL + ヘッダー + ボディ)を送り、サーバーはレスポンス(ステータスコード + ヘッダー + ボディ)を返す。ステートレスである(セッションは Cookie が運ぶ)。HTTP/2 は多重化を追加し、HTTP/3 は QUIC 上に構築し、HTTP/1 はテキストプロトコルである。

ユースケース

  • Web ページと API 通信
  • RESTful API の構築
  • ファイルのダウンロードとアップロード
  • WebSocket へのアップグレード

例

  • 入力
    GET /api/users HTTP/1.1
    Output
    200 OK + JSON body

    Request-response

よくあるエラー

Using GET for operations with side effects
Use POST/PUT/DELETE for state-changing operations

関連用語

関連ツール

References