コース一覧
ネットワーク基礎:TCP/IP・HTTP・DNS・CDN
HTTP メソッド

ネットワーク基礎:TCP/IP・HTTP・DNS・CDN

ブラウザからサーバーまでデータが届く仕組みを、OSI・TCP/IP、IPとルーティング、TCP/UDP、HTTP/HTTPS、DNS、CDNから体系的に学びます。通信障害や構成選択をプロトコルから考えられるようになります。

1
ネットワークの全体像
0. ネットワークとは8分
1. OSI 7階層モデル10分
2. TCP/IP 4階層モデル9分
3. パケットとフレーム9分
4. ルーター・スイッチ・ハブ9分
2
IP とルーティング
0. IPアドレス (IPv4 / IPv6)10分
1. サブネットマスクと CIDR11分
2. NAT とプライベートIP9分
3. ルーティングと経路選択10分
4. ファイアウォール基礎9分
3
TCP / UDP
0. TCP と UDP の違い9分
1. 3-way ハンドシェイク9分
2. 輻輳制御と再送10分
3. UDP の用途 (DNS / 動画 / ゲーム)8分
4. ポート番号と well-known port9分
4
HTTP / HTTPS
0. HTTP の基本10分
1. HTTP メソッド9分
2. HTTPS と TLS ハンドシェイク10分
3. HTTP/2 と HTTP/3 (QUIC)10分
4. REST API の設計原則10分
5
DNS とドメイン
0. DNS とは8分
1. レコードタイプ10分
2. 名前解決の流れ10分
3. DNS キャッシュと TTL9分
4. CDN の仕組みと Anycast10分
6
応用
0. ロードバランサ (L4 / L7)10分
1. プロキシとリバースプロキシ9分
2. WebSocket とリアルタイム通信9分
3. gRPC と HTTP/2 利用10分

ネットワーク基礎:TCP/IP・HTTP・DNS・CDN

01ネットワークとは
02OSI 7階層モデル
03TCP/IP 4階層モデル
04パケットとフレーム
05ルーター・スイッチ・ハブ
06IPアドレス (IPv4 / IPv6)
07サブネットマスクと CIDR
08NAT とプライベートIP
09ルーティングと経路選択
10ファイアウォール基礎
11TCP と UDP の違い
123-way ハンドシェイク
13輻輳制御と再送
14UDP の用途 (DNS / 動画 / ゲーム)
15ポート番号と well-known port
16HTTP の基本
17HTTP メソッド
18HTTPS と TLS ハンドシェイク
19HTTP/2 と HTTP/3 (QUIC)
20REST API の設計原則
21DNS とは
22レコードタイプ
23名前解決の流れ
24DNS キャッシュと TTL
25CDN の仕組みと Anycast
26ロードバランサ (L4 / L7)
27プロキシとリバースプロキシ
28WebSocket とリアルタイム通信
29gRPC と HTTP/2 利用

ネットワーク基礎:TCP/IP・HTTP・DNS・CDN

HTTP メソッド

GET と POST

絞り込んだ検索結果の URL を、同僚に送れない

検索フォームを作ったら、条件を入れた後の画面を「これ見て」と共有できませんでした。原因は送り方を POST にしていたことです。条件がどこに乗るかで、後からできることが変わります。

取りに行くのか、送るのか、消すのか

メソッドは、リクエストの 1 行目に書く用件の種類です。仕様にはいくつも並んでいますが、日々書くのは 4 つに絞れます。

  • 取りに行く — GET。条件は URL に乗る。URL をコピーすれば同じ画面が再現でき、ブックマークもキャッシュも効く
  • 送る — POST。中身は本文に乗る。URL に出ないので、長いデータや見せたくないデータを渡せる
  • 置き換える — PUT。渡した内容でまるごと上書きする
  • 消す — DELETE

検索やページ遷移が GET、フォーム送信や決済が POST になるのは、この「条件がどこに乗るか」の違いから来ています。共有したい画面なら GET、URL に残ってほしくない情報を含むなら POST です。

もう 1 つ、GET には守るべき約束があります。状態を変えてはいけません。削除の操作を /delete?id=3 のような普通のリンクで作ると、検索エンジンの巡回や、ブラウザの先読み機能が勝手にそれを踏みます。誰も押していないのにデータが消えていく、という事故はこの形で起きます。消す操作は GET で書かない、と決めておくだけで防げます。

もう一度送ってよいのか、送ってはいけないのか

通信が途中で切れて返事が来なかったとき、同じリクエストをもう一度投げてよいでしょうか。判断の基準は「何回呼んでも結果が変わらないか」です。この性質を冪等 (べきとう) と言います。

GET は何回取っても中身は変わりません。PUT は同じ内容で上書きし直すだけなので、2 回でも 3 回でも同じです。DELETE も、消えているものをもう一度消せば消えたままです。この 3 つは、返事が来なければ安心して再送できます。

DELETE の 2 回目は「そんなものは無い」と返ってくるかもしれません。返事の内容は変わりますが、終わった後の状態は 1 回目と同じです。冪等が言っているのはこちらで、返り値が毎回同じ、という意味ではありません。

危ないのは POST です。注文を作る POST を 2 回送れば、注文が 2 件できる可能性があります。決済 API に「同じ受付番号のリクエストは 1 回しか処理しない」という仕組みがあるのは、この再送事故を防ぐためです。呼ぶ側は迷わず再送でき、受ける側は二重処理を避けられます。

「在庫を 1 増やす」は 2 回呼ぶと 2 増える

冪等かどうかは、メソッドの名前ではなく操作の中身で決まります。部分更新に使う PATCH で考えてみます。

プレーンテキスト

在庫を 1 増やす    → 2 回届くと 2 増える (冪等でない)
在庫を 10 にする   → 何回届いても 10   (冪等)

同じ PATCH でも、相対値で書くか絶対値で書くかで性質が変わります。API を自分で設計するときは、絶対値で表せないかを先に考えると、再送に強い作りになります。

このレッスンに出てくる用語

意味があいまいなまま進んだ語は、ここから読み直せます。

  • URLページの住所全体
  • フォームinput(text, email, password, checkbox, radio)、select、textarea、button。
  • メソッドクラスに属する関数
  • リクエストWeb 通信の基本単位、ブラウザの問い合わせとサーバーの返答
  • キャッシュ一度取得したデータを再利用するための一時保存
  • ブラウザユーザーから見たWebのクライアント
  • 判断YES/NO 分岐を表す菱形
  • エンドポイント「この URL を叩くとこの機能が動く」入口の住所
生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2026/05/27·更新 2026/08/26

関連レッスン

  • HTTPS と TLS ハンドシェイク

    暗号化通信 HTTPS と、TLS で鍵を共有する流れを理解します。

  • HTTP/2 と HTTP/3 (QUIC)

    HTTP/1.1 の課題と、HTTP/2・HTTP/3 がどのように改善したかを学びます。

  • REST API の設計原則

    リソース指向、ステートレス、URL 設計など REST の基本を理解します。

  • DNS とは

    人間が読める名前と IP を結びつける DNS の役割を理解します。

分からないところは Tap (AI先生) に質問できます

24 時間いつでも、あなたのレベルに合わせて日本語で答えます。

復習ミニクイズ

次のうち冪等 (idempotent) ではないメソッドはどれですか