Web技術を整える
中級HTTPメソッド・ヘッダーを整える。
= GET/POSTなどの動詞と、主要ヘッダーの意味を引く早見
HTTP が初めての方は、先に そもそも HTTP とは・どんな場面で使うか をどうぞ。
アニメで見る — HTTPメッセージの中身 開くと1ステップずつ動きます
ブラウザ
あなた
サーバ
Webサイト
STEP 1
※ イメージ図です。下の表とリファレンスで、メソッド・ヘッダーの意味を確かめられます。
メソッド=サーバに「何をしてほしいか」を伝える動詞です。読み取るだけで状態を変えないものを安全(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ステータスコードを整えるで引けます。
ヘッダー=メッセージに添える「付箋」です。誰に・何を・どう扱うかを補足します。リクエスト系 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メッセージは、いつも同じ4つの並びでできています──①開始行(リクエストラインまたはステータスライン)/②ヘッダー(1行ずつ)/③空行(ここでヘッダーが終わる合図)/④ボディ(本文・無いこともある)。
GET /http/ HTTP/1.1
Host: totonoe.tech
Accept: text/html
Cookie: session=abc123
(GETは通常なし)
Content-Type: text/html; charset=utf-8
Content-Length: 348
Cache-Control: max-age=3600
<!DOCTYPE html><html>…</html>
🔒 このページは解説リファレンスです。入力した検索語もどこにも送られず、すべてあなたのブラウザの中で処理されます(送信ゼロ)。
暗号化(鍵マーク)のしくみは HTTPSのしくみを整える、データの運び方(TCP/UDP)は TCP/UDPを整える をどうぞ。
このツールは、ネットワーク全体図のここ
- 自分の端末
- 家・会社の中
- 出入口
- 建物の外
- 相手のサーバー
- データセンター
- 見る・動かす
相手のサーバー側(サーバー)— ブラウザがサーバーに「ページをください」と頼む言葉づかいの話です。
相手のサーバー側は、訪ねた先の会社の窓口のような場所です。OSI では第7層(アプリケーション)。
このページに出てくる略語(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®」も運営しています。 ここで手を動かした内容を、講師から教わる形の研修です。このページの道具は無料のまま、登録もいりません。