1.

HTTP

編集

HTTPの記事です。HyperText Transfer Protocolの略で、Webブラウザとサーバーの間でHTMLやリソースをやり取りするための基本プロトコルです。WebサイトのURLが http:// または https:// で始まるのはこのため。

HTTPの基本

項目内容
役割Webリソース(HTML / 画像 / JSON 等)の送受信
標準RFC 9110(HTTP semantics)、9112(HTTP/1.1)、9113(HTTP/2)、9114(HTTP/3)
プロトコル層アプリケーション層
標準ポート80(HTTP)、443(HTTPS)
テキスト/バイナリHTTP/1.x はテキスト、HTTP/2/3 はバイナリフレーム

HTTP バージョン

バージョン特徴
HTTP/0.91991年。GETのみ。HTMLのみ返す
HTTP/1.01996年。ステータスコード・ヘッダ導入
HTTP/1.11997年。Keep-Alive、Host必須。長く主流
HTTP/22015年。バイナリ・多重化・ヘッダ圧縮(HPACK)
HTTP/32022年。UDPベース(QUIC)。低レイテンシ

主要なHTTPメソッド

メソッド用途ボディべき等性
GETリソース取得なし
POST新規作成・処理実行あり×
PUT更新(全置換)あり
PATCH更新(部分)あり×
DELETE削除任意
HEADヘッダのみ取得なし
OPTIONSサポートメソッド確認(CORSプリフライト)なし

HTTPリクエストの構造

GET /users/1 HTTP/1.1
Host: api.example.com
Accept: application/json
Authorization: Bearer xxx
User-Agent: curl/7.84

(ボディ:GETでは通常なし)

HTTPレスポンスの構造

HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 27
Date: Mon, 01 Jan 2024 00:00:00 GMT

{"id":1,"name":"Taro"}

主要なステータスコード

カテゴリ意味
1xx 情報100 Continue処理続行可
2xx 成功200 OK, 201 Created, 204 No Content成功
3xx リダイレクト301 / 302 / 304転送・キャッシュ有効
4xx クライアントエラー400 / 401 / 403 / 404 / 429不正リクエスト・権限・存在しない・レート制限
5xx サーバーエラー500 / 502 / 503 / 504内部エラー、上流エラー、メンテ、タイムアウト

HTTPSとの違い

  • HTTPS = HTTP over TLS。通信が暗号化され、改ざん検知・サーバー認証が行われる
  • ブラウザは平文HTTPサイトに「保護されていない通信」警告を表示
  • SEO上もHTTPSが優遇される
  • Let's Encrypt で無料証明書を発行できるため、本番は基本HTTPS

主要ヘッダ

ヘッダ方向用途
Hostリクエスト対象ホスト名(HTTP/1.1必須)
User-Agentリクエストクライアント識別
Authorizationリクエスト認証情報
CookieリクエストCookie送信
Content-Type両方ボディの種別
Acceptリクエスト望む応答形式
Set-CookieレスポンスCookie発行
Cache-Controlレスポンスキャッシュ制御
Locationレスポンスリダイレクト先
Strict-Transport-SecurityレスポンスHTTPS強制

関連

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. HTTP
  2. HTTPS
  3. DNS
  4. FTP
  5. TFTP
  6. DHCP
  7. SMTP
  8. SNMP
  9. POP3
  10. Telnet
  11. NTP
  12. SSH