Skip to content

MS_HTTP

nishi_74322014 edited this page Aug 3, 2026 · 1 revision

HTTP

概要

HTTP関連の技術情報。

構造

リクエスト行 / ステータス行
メッセージ・ヘッダ
空行(CR+LF : 改行コード)
メッセージ・ボディ

リクエスト行 / ステータス行

リクエスト行

GET / HTTP/1.1」など、リクエストの最初の行

  • メジャー:GET / POST
  • マイナー:HEAD / PUT
  • その他:CONNECT / DELETE / OPTIONS / PATCH / TRACE

ステータス行

HTTP/1.1 200 OK」など、レスポンスの最初の行

  • 情報レスポンス
    • 100 Continue / 101 Switching Protocols / 103 Early Hints
  • 成功レスポンス
    • 200 OK ★ — リクエストが成功した場合に返すレスポンスコード。
    • 201 Created / 202 Accepted / 203 Non-Authoritative Information / 204 No Content / 205 Reset Content / 206 Partial Content
  • リダイレクションメッセージ
    • 300 Multiple Choices
    • 301 Moved Permanently ★ — Location で示された URL へ恒久的に移動したことを示す。(GET または HEAD メソッドのみに使用する)
    • 302 Found ★ — Location で示された URL へ一時的に移動したことを示す。(GET または HEAD メソッドのみに使用する)
    • 303 See Other
    • 304 Not Modified ★ — 変更されていない(キャッシュへの暗黙のリダイレクト)
    • 307 Temporary Redirect ★ — Location で示された URL へ移動したことを示す。(302との違いはメソッドと本文が変更されないことを保証する)
    • 308 Permanent Redirect ★ — Location で示された URL へ移動したことを示す。(301との違いはメソッドと本文が変更されないことを保証する)
  • クライアントエラーレスポンス
    • 400 Bad Request ★ — リクエスト不正
    • 401 Unauthorized ★ — 認証が必要
    • 402 Payment Required
    • 403 Forbidden ★ — アクセスを拒否(認証しても許可されない)
    • 404 Not Found ★ — リソースが存在しない
    • 405 Method Not Allowed / 406 Not Acceptable / 407 Proxy Authentication Required / 408 Request Timeout / 409 Conflict / 410 Gone / 411 Length Required / 412 Precondition Failed / 413 Payload Too Large / 414 URI Too Long / 415 Unsupported Media Type / 416 Range Not Satisfiable / 417 Expectation Failed / 418 I'm a teapot / 422 Unprocessable Entity / 425 Too Early / 426 Upgrade Required / 428 Precondition Required / 429 Too Many Requests / 431 Request Header Fields Too Large / 451 Unavailable For Legal Reasons
  • サーバーエラーレスポンス
    • 500 Internal Server Error ★ — アプリケーション・サーバ内部エラー
    • 501 Not Implemented / 502 Bad Gateway
    • 503 Service Unavailable ★ — サービスが一時的に利用不可
    • 504 Gateway Timeout / 505 HTTP Version Not Supported / 511 Network Authentication Required

移行メモ(正誤): 原文は 403 Forbidden の説明を 401 と同じ「認証が必要」としていたが、 401 は「認証が必要(認証すれば通る可能性がある)」、 403 は「認証の有無にかかわらずアクセスが許可されない」で意味が異なる。 403 の説明を改めた。

HTTPヘッダ

HTTPヘッダ

HTTPボディ

HTTPボディ

アプリケーション開発

状態管理方式

(ASP.NETの状態管理方式: MS_ASPNETStateManagement.md

状態の送信

  • GET(Query String)
  • POST(x-www-form-urlencoded)
  • Hidden(POSTで送信されるFormの隠し項目)
  • Cookie(Cookieヘッダ)

状態の受信(保存)

  • Hidden(レスポンスに含まれるFormの隠し項目)
  • Cookie(Set-Cookieヘッダ)
  • Session(SessionIDによる)。SessionIDは以下の情報を利用
    • Cookie(Cookieヘッダ)
    • POST(Form中のHidden)
    • GET(Query String)

エンコーディング

  • HTMLエンコーディング — 特殊文字を、HTML特殊文字コードにエンコーディング
  • URLエンコーディング
    • GETでURLをQuery Stringに設定する場合
    • POSTで値を送信(application/x-www-form-urlencoded)する場合

プロトコル

その他

※ HTTP/3 は QUIC(UDP ベース)上で動作し、 TCP のヘッドオブラインブロッキングを解消している。 主要ブラウザ・CDN では既定で有効。

参考


Tags: IT国際標準, インフラストラクチャ, 通信技術, IIS

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally