

中嶋悟
名前:中嶋 悟(なかじま さとる) ニックネーム:サトルン 年齢:28歳 性別:男性 職業:会社員(IT系メーカー・マーケティング部門) 通勤場所:東京都千代田区・本社オフィス 通勤時間:片道約45分(電車+徒歩) 居住地:東京都杉並区・阿佐ヶ谷の1LDKマンション 出身地:神奈川県横浜市 身長:175cm 血液型:A型 誕生日:1997年5月12日 趣味:比較記事を書くこと、カメラ散歩、ガジェット収集、カフェ巡り、映画鑑賞(特に洋画)、料理(最近はスパイスカレー作りにハマり中) 性格:分析好き・好奇心旺盛・マイペース・几帳面だけど時々おおざっぱ・物事をとことん調べたくなるタイプ 1日(平日)のタイムスケジュール 6:30 起床。まずはコーヒーを淹れながらニュースとSNSチェック 7:00 朝食(自作のオートミールorトースト)、ブログの下書きや記事ネタ整理 8:00 出勤準備 8:30 電車で通勤(この間にポッドキャストやオーディオブックでインプット) 9:15 出社。午前は資料作成やメール返信 12:00 ランチはオフィス近くの定食屋かカフェ 13:00 午後は会議やマーケティング企画立案、データ分析 18:00 退社 19:00 帰宅途中にスーパー寄って買い物 19:30 夕食&YouTubeやNetflixでリラックスタイム 21:00 ブログ執筆や写真編集、次の記事の構成作成 23:00 読書(比較記事のネタ探しも兼ねる) 23:45 就寝準備 24:00 就寝
postとputの違いを理解する基本のポイント
HTTP の世界にはさまざまなリクエスト方法があります。そのうちの POST と PUT は、データをサーバーに送るときによく登場しますが、使い分けのルールを誤ると期待した結果にならないことがあります。特に API を設計する場合には、クライアントがどんな操作を意図しているのかをサーバーに正しく伝えることが大切です。ここでは、POST と PUT の基本的な性質、冪等性の考え方、そして現場での一般的な使い方を、初心者にもわかりやすい言葉で解説します。ポイントは「同じリクエストを繰り返しても結果が変わらないかどうか」です。これを意識するだけで、設計や実装がずいぶん楽になります。
まず大まかな違いを一言で言うと、POST は新しいデータを作ることが目的の操作、PUT は特定のリソースを置き換える操作です。POST はコレクションに対する追加を意味し、複数回同じ要求を送ると同じデータが複数作られる可能性があります。PUT は「この URL のリソースをこの内容で置き換える」という意味で、同じリクエストを繰り返しても最終的には同じ結果になります。API 設計では、新規作成と更新の境界線をどう設けるかが重要です。
リソースの識別とレスポンスも覚えておくべきポイントです。POST は通常、サーバーが新しいリソースの位置を決定して 201 Created を返すケースが多く、場合によっては 200 OK を返すこともあります。一方 PUT は、成功時に 200 OK または 204 No Content、場合によっては 201 Created となることもあります。この違いがクライアントの次の動きに影響します。また、PUT は冪等性が高い性質を持つため、同じ内容を連続して送っても結果は同じになります。
具体的な運用例を考えてみましょう。例えばブログ記事を扱う API で、記事を作成する時は POST /articles にデータを送ります。サーバーは新しい記事 ID を割り当て、201 で返します。記事を更新する時は PUT /articles/{id} に全体の新しい記事データを送ることで、指定 ID の記事を置き換えます。部分的な更新には PATCH が使われることがありますが、ここでは PUT の使いどころを理解することが大事です。
最後に、現場での注意点です。クライアントとサーバー間の契約(API の仕様書)を明確にしておくこと、そして idempotent な設計を意識することが重要です。特に「同じリクエストを何度送っても副作用が同じであるべきかどうか」は、リソースの性質や担う責務によって変わります。仕様を曖昧にせず、適切なステータスコードとメソッドを選ぶことが、安定した API を作る第一歩です。
実務での使い分けと具体例
実務で POST と PUT をどのように使い分けるかを具体的に想像してみましょう。POST は新しいリソースを作る場面で強力な選択肢です。例えばユーザー登録、コメントの追加、記事の新規作成など、サーバー側で新しい識別子を割り当てる場合に適しています。PUT は既存のリソースを「置換」する場面に適しており、URL がリソースを指すことを前提にします。もし同じ PUT リクエストを何度送っても結果が同じであるべきであれば、冪等性の恩恵を受けて競合を抑えやすくなります。
この表を覚えておくと、日常の API 設計で迷わず選べます。もちろん、実際にはサービスの要件次第で例外はありますが、基本の指針としては強力な味方になります。
今日は post の小ネタ。友だちと雑談しているように話します。友だちA「POST ってよく見るけど、実際には何を意味しているの?」友だちB「新しい資源を作る時に使う操作だよ。例えばブログ記事を投稿する時の動きに近いんだ。」友だちA「同じリクエストを何度も送るとどうなるの?」友だちB「同じリクエストを何度送っても、サーバーは新しい資源を生み出してしまうことが多い。だから同じデータを連続して送らない工夫が必要になる。」といった具合です。