本文へスキップ
totonoe.tech

Web技術を整える

中級

HTTPメソッド・ヘッダーを整える。

= GET/POSTなどの動詞と、主要ヘッダーの意味を引く早見

HTTP が初めての方は、先に そもそも HTTP とは・どんな場面で使うか をどうぞ。

アニメで見る — HTTPメッセージの中身 開くと1ステップずつ動きます
🌐

ブラウザ

あなた

GET /http/ HTTP/1.1(リクエストライン)
Host / Accept / Cookie …(ヘッダー)
🖥️

サーバ

Webサイト

HTTP/1.1 200 OK(ステータスライン)
Content-Type / Cache-Control …
📄 本文(HTML・JSON など)

STEP 1

※ イメージ図です。下の表とリファレンスで、メソッド・ヘッダーの意味を確かめられます。

① HTTPメソッド(7種) 解説のみ・送信ゼロ

メソッド=サーバに「何をしてほしいか」を伝える動詞です。読み取るだけで状態を変えないものを安全(safe)、同じ要求を何回送っても結果が変わらないものを冪等(idempotent)と呼びます。

メソッド 意味 安全 冪等 ボディ 主な用途
GET リソースを取得する(読むだけ) ○ ○ × ページ・画像・APIデータの取得。検索条件はクエリ文字列に載せる。
POST データを送って新規作成・処理を依頼する × × ○ フォーム送信・新規登録・ログイン。2回送ると二重登録になり得る。
PUT リソースを丸ごと置き換える(無ければ作成) × ○ ○ リソース全体の上書き更新。同じPUTを何回送っても最終状態は同じ。
PATCH リソースの一部だけを更新する × × ○ 部分更新(例:名前だけ変える)。差分の当て方次第で冪等にならない。
DELETE リソースを削除する × ○ × リソースの削除。すでに無くても「無い状態」で同じなので冪等。
HEAD GETと同じだが本文を返さずヘッダーだけ取得する ○ ○ × 更新日時やサイズ・存在確認。本文をダウンロードせず確かめたいとき。
OPTIONS 使えるメソッドや通信の許可条件を問い合わせる ○ ○ × CORSのプリフライト(事前確認)。Allow/Access-Control-* が返る。

○=該当/×=非該当。安全なメソッド(GET・HEAD・OPTIONS)は必ず冪等でもあります。POST と PATCH は冪等が保証されないため、二重送信に注意します。ステータスコード(200・404 など)の意味はHTTPステータスコードを整えるで引けます。

② 主要ヘッダー(24個) 入力すると即時に絞り込み(送信ゼロ)

ヘッダー=メッセージに添える「付箋」です。誰に・何を・どう扱うかを補足します。リクエスト系 15・レスポンス系 12(両方で使うものを含む)。名前・説明で絞り込めます。

Host リクエスト

接続先のホスト名。1つのサーバで複数サイトを区別するために必須(HTTP/1.1)。

Host: totonoe.tech
User-Agent リクエスト

リクエスト元のブラウザ・アプリの自己申告。OSやバージョンの目安に使われる。

User-Agent: Mozilla/5.0 (Macintosh; …) Safari/605.1.15
Accept リクエスト

受け取りたいコンテンツの種類(MIMEタイプ)の希望。サーバが内容を出し分ける。

Accept: text/html,application/xhtml+xml,*/*;q=0.8
Accept-Language リクエスト

受け取りたい言語の希望。多言語サイトの言語切り替えに使われる。

Accept-Language: ja,en;q=0.7
Accept-Encoding リクエスト

受け取れる圧縮方式。gzip / br を申告し、本文を縮めて転送量を減らす。

Accept-Encoding: gzip, deflate, br
Authorization リクエスト

認証情報(トークンやBasic認証)。APIアクセスやログイン後の本人確認に使う。

Authorization: Bearer eyJhbGciOiJIUzI1Ni␣…
Cookie リクエスト

以前 Set-Cookie で受け取った値を送り返す。ログイン状態の維持などに使う。

Cookie: session=abc123; theme=light
Content-Type 両方

送る/返す本文の種類(MIMEタイプ)。POST送信時とレスポンス本文の両方で使う。

Content-Type: application/json; charset=utf-8
Content-Length 両方

本文のバイト数。受け手はここまで読めば本文が終わると分かる。

Content-Length: 348
Referer リクエスト

どのページから来たかの参照元URL(綴りは歴史的に Referrer ではなく Referer)。

Referer: https://totonoe.tech/tools/
Origin リクエスト

リクエストの出どころ(スキーム+ホスト+ポート)。CORSやCSRF対策の判定に使う。

Origin: https://totonoe.tech
Range リクエスト

本文の一部だけを要求する(バイト範囲)。ダウンロードの再開や動画のシークに使う。

Range: bytes=0-1023
If-None-Match リクエスト

手元のETagを添えて「変わっていなければ本文不要」と伝える。一致なら304が返る。

If-None-Match: "abc123etag"
If-Modified-Since リクエスト

この日時以降に更新されていなければ本文不要、と伝える条件付きリクエスト。

If-Modified-Since: Wed, 21 Oct 2026 07:28:00 GMT
Set-Cookie レスポンス

ブラウザにCookieを保存させる。次回以降は Cookie ヘッダーで送り返される。

Set-Cookie: session=abc123; HttpOnly; Secure; SameSite=Lax
Cache-Control 両方

キャッシュの可否と期間を指示。max-age・no-store・private などを組み合わせる。

Cache-Control: public, max-age=3600
ETag レスポンス

リソースの版を表す指紋。次回 If-None-Match で送ると未変更なら304で済む。

ETag: "abc123etag"
Last-Modified レスポンス

リソースの最終更新日時。If-Modified-Since と組んでキャッシュ判定に使う。

Last-Modified: Wed, 21 Oct 2026 07:28:00 GMT
Location レスポンス

リダイレクト先や新規作成されたリソースのURL。3xxや201と一緒に返る。

Location: https://totonoe.tech/http/
Content-Encoding レスポンス

本文に実際に適用された圧縮方式。受け手はこれを見て展開する。

Content-Encoding: gzip
Access-Control-Allow-Origin レスポンス

別オリジンからのアクセスを許す相手を指定(CORS)。* なら全許可。

Access-Control-Allow-Origin: https://totonoe.tech
Strict-Transport-Security レスポンス

以後この期間は必ずHTTPSで来いとブラウザに指示(HSTS)。盗聴・改ざん対策。

Strict-Transport-Security: max-age=31536000; includeSubDomains
Content-Security-Policy レスポンス

読み込み元を制限してXSSなどを抑える防御ヘッダー(CSP)。送信先も縛れる。

Content-Security-Policy: default-src 'self'
Vary レスポンス

どのリクエストヘッダーで内容が変わるかを示し、キャッシュの取り違えを防ぐ。

Vary: Accept-Encoding

そもそも HTTP とは

ブラウザとサーバが交わす、Web 専用の「会話のルール」。

HTTP は HyperText Transfer Protocol(ハイパーテキスト転送プロトコル) の略です。Web ページを開くとき、ブラウザがサーバに「このページをください」と頼み(リクエスト)、サーバが中身を返す(レスポンス)。この頼み方と返し方の決まりが HTTP です。レストランで注文票を出すと、料理と一言の返事が戻ってくる流れに似ています。

HTTP は一往復ごとに完結し、前のやり取りを覚えていません(ステートレス)。ログイン状態を保てるのは、Cookie などで「さっきの人です」と毎回伝えているからです。アドレスの先頭の http:// や https:// がこれで、https は HTTP に暗号化を足したものです。

どこで・どんな場面で使うか

  • フォームや API を作るとき

    データを取るなら GET、送るなら POST、といったメソッドの使い分けや、送るヘッダーを決める場面で毎回使います。

  • ブラウザの開発者ツールで通信を見るとき

    「ネットワーク」タブに並ぶ行はすべて HTTP のやり取りです。どのヘッダーが付き、何が返ったかを読み解けます。

  • サイト運営で表示速度やキャッシュを整えるとき

    Cache-Control などのヘッダーで、ブラウザに再利用させる期間を指定します。

  • 障害対応で原因を切り分けるとき

    送った内容が悪いのか、返ってきた内容が悪いのか。リクエストとレスポンスに分けて見ると原因に近づけます。

  • 基本情報・応用情報などの資格

    ネットワーク分野で、アプリケーション層のプロトコルとして出題されます。

知らないと何が困るか

  • GET と POST を取り違える。GET の内容はアドレス欄に残り、履歴やアクセスログにも記録されます。見られては困る値を GET で送ると漏れる原因になります。
  • エラーの原因を言葉にできない。「表示されない」だけでは調べようがありません。どの段階の何が返ったかを言えると、相談も調査も速くなります。
  • API の仕様書が読めない。外部サービスとの連携は、メソッド・ヘッダー・本文の組み合わせで書かれています。

下の一覧とメッセージの構造で、リクエストとレスポンスの一往復を実際に追ってみてください。

③ HTTPメッセージの構造 上=リクエスト/下=レスポンス

HTTPメッセージは、いつも同じ4つの並びでできています──①開始行(リクエストラインまたはステータスライン)/②ヘッダー(1行ずつ)/③空行(ここでヘッダーが終わる合図)/④ボディ(本文・無いこともある)。

📨 リクエスト(ブラウザ → サーバ)
① リクエストライン
GET /http/ HTTP/1.1
② ヘッダー
Host: totonoe.tech
Accept: text/html
Cookie: session=abc123
③ 空行(ヘッダー終わりの合図)
④ ボディ
(GETは通常なし)
📄 レスポンス(サーバ → ブラウザ)
① ステータスライン
HTTP/1.1 200 OK
② ヘッダー
Content-Type: text/html; charset=utf-8
Content-Length: 348
Cache-Control: max-age=3600
③ 空行(ヘッダー終わりの合図)
④ ボディ
<!DOCTYPE html><html>…</html>

🔒 このページは解説リファレンスです。入力した検索語もどこにも送られず、すべてあなたのブラウザの中で処理されます(送信ゼロ)。
暗号化(鍵マーク)のしくみは HTTPSのしくみを整える、データの運び方(TCP/UDP)は TCP/UDPを整える をどうぞ。

このツールは、ネットワーク全体図のここ

  1. 自分の端末
  2. 家・会社の中
  3. 出入口
  4. 建物の外
  5. 相手のサーバー
  6. データセンター
  7. 見る・動かす

相手のサーバー側(サーバー)— ブラウザがサーバーに「ページをください」と頼む言葉づかいの話です。

相手のサーバー側は、訪ねた先の会社の窓口のような場所です。OSI では第7層(アプリケーション)。

「ブラウザで URL を打ってからページが出るまで」の 9 番目(HTTP でページを頼む)で活躍します。

前の段: HTTPS 次の段: HTTPステータス

このページに出てくる略語(9語)
  • HTTP (Hypertext Transfer Protocol) — ブラウザがサーバーに「ページをください」と頼む言葉づかい
  • HTTPS (Hypertext Transfer Protocol Secure) — HTTP を TLS で暗号化した形。アドレスバーの鍵マークの印
  • URL (Uniform Resource Locator) — ページなどの場所を表す文字列(https://… のアドレス)
  • HTML (Hypertext Markup Language) — Web ページの中身を書くための言語
  • CORS (Cross-Origin Resource Sharing) — 別のサイトからのデータの読み込みを、サーバーが許すかを決める仕組み
  • MIME (Multipurpose Internet Mail Extensions) — データの種類(text/html など)を表す名前の付け方
  • L7 (Layer 7) — OSI の第7層(アプリケーション層)。HTTP・DNS など、利用者に近い話
  • API (Application Programming Interface) — プログラムから機能を呼び出すための窓口
  • REST (Representational State Transfer) — HTTP の命令で、データを取る・作る・消すを行う API の作り方

ネットワークの略語をすべて見る

ネットワークの全体図を見る

このツールについて

Webの土台であるHTTPの「中身」をひと目で引けるリファレンスです。GET と POST はどう違うのか、PUT を2回送っても安全なのか(冪等性)、Authorization や Set-Cookie は何をするヘッダーなのか──メソッド一覧表と検索できるヘッダー辞典で確かめられます。鍵マークのしくみは /tls/、運び方は /tcp/ に分けています。

HTTPのメソッド(GET/POSTの違い・冪等性)と主要ヘッダー(Host・Cookie・Cache-Control・CSP…)を、表と検索で引けるリファレンス。鍵マークは HTTPSのしくみ、運び方は TCP/UDP。

🔰 かんたんに言うと

ブラウザとサーバーの「会話のルール」がHTTP。GET/POSTの意味や、やり取りに付く情報(ヘッダー)を引けます。

主な機能

  • GET/POST/PUT/PATCH/DELETE/HEAD/OPTIONS の意味・安全・冪等・ボディ有無を比較
  • リクエスト/レスポンスの主要ヘッダーを1行説明+実例で収録
  • ヘッダー名・キーワード検索+種別フィルタ
  • HTTPメッセージの4部構造(開始行/ヘッダ/空行/ボディ)を図解
  • 送信ゼロ・解説のみ・ブラウザ内完結

よくある質問

Q. GET と POST の違いは何ですか?

A. GETは読むだけ(安全・冪等、条件はURLのクエリ)。POSTはデータを送って新規作成・処理を依頼するもので、安全でも冪等でもなく、2回送ると二重登録になり得ます。

Q. 「冪等(idempotent)」とは何ですか?

A. 同じ要求を何回送っても結果(最終状態)が変わらない性質です。GET・PUT・DELETE・HEAD・OPTIONSは冪等、POST・PATCHは保証されません。

Q. PUT と PATCH はどう使い分けますか?

A. PUTはリソースを丸ごと置き換え(冪等)、PATCHは一部だけ更新(差分の当て方次第で非冪等)です。

Q. Cookie と Set-Cookie の関係は?

A. サーバがレスポンスのSet-Cookieでブラウザに保存させ、次回以降ブラウザがリクエストのCookieで送り返します。これでログイン状態などを維持します。

Q. ETag や Cache-Control は何のためですか?

A. 再ダウンロードを減らすためのキャッシュ制御です。ETag(版の指紋)をIf-None-Matchで送り、未変更なら304 Not Modifiedで本文を省けます。

Q. 入力したヘッダー検索語はどこかに送信されますか?

A. いいえ。検索・絞り込みはすべてブラウザ内で完結し、サーバには一切送信されません(送信ゼロ)。

入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

続けて整える

このツールの解説記事

totonoe.tech を運営する株式会社Koinobori は、法人向けの研修サービス「NOBORIBA®」も運営しています。 ここで手を動かした内容を、講師から教わる形の研修です。このページの道具は無料のまま、登録もいりません。

運営サイト

私たちが運営するサイト