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.1Output200 OK + JSON bodyRequest-response
よくあるエラー
- Using GET for operations with side effects
- Use POST/PUT/DELETE for state-changing operations
関連用語
HTTPS
HTTPS は TLS 上の HTTP である。トランスポート層で HTTP 通信を暗号化し、機密性・完全性・サーバー認証を提供する、現代の Web 標準である。 用語集
TLS
TLS(Transport Layer Security)はトランスポート層で暗号化・完全性・認証を提供する。SSL を置き換え、HTTPS や SMTPS などの基盤となる。 用語集
Cookie
Cookie とは、サーバーが設定しブラウザが保存するキーバリューペアであり、同一オリジンへのリクエストに自動的に付送されてセッションと状態の管理に使われる。 用語集
CORS
CORS(Cross-Origin Resource Sharing)は、HTTP ヘッダーでページが別のオリジンのリソースにアクセスできるかを制御するブラウザのセキュリティ機構であり、クロスサイトな読み取りを防ぐ。 用語集