0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人的な備忘録:HTTPメソッドについて3時間語れなかったので、記事としてアウトプットして振り返ってみた

Last updated at Posted at 2025-01-28

はじめに

HTTPメソッドとは、Webブラウザやクライアントがサーバーに対してどのような操作を要求するかを指定するための方法です。

正しいメソッドを使用することで、API設計や通信の可読性が向上します。

本記事は個人的な備忘録としてまとめたものです。その点をご理解いただければ幸いです。

書こうと思ったきっかけ

ITスクールのハッカソンで、実際にAPIを構築する課題があり、HTTPメソッドの正しい使い分けが求められました。

その中で、GETやPOSTはスムーズに理解できたものの、PUTやPATCHなどの違いを説明するのが難しいと感じました。

また、普段の開発では何となく使っているメソッドが多かったため、基礎から整理し直す必要性を実感しました。

この記事を通じて、自分の理解を深めるとともに、同じ課題を持つ方への助けになれば幸いです。

HTTPメソッドの概要

HTTPメソッドは、クライアントとサーバー間で行われる通信の種類を指定するための仕組みです。

スクリーンショット 2024-10-31 23.16.09.png
引用画像:https://www.japanitguide.com/html-reference/HTTP-%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89:-GET-%E3%81%A8-POST.html

HTTPメソッドにはさまざまな種類がありますが、主要なメソッドについて以下に簡単にまとめます。詳しい説明は後述します。

GET:
サーバーからデータを取得するために使用される。

POST:
サーバーにデータを送信するために使用され、新しいリソースの作成や既存リソースの更新に適する。

PUT:
指定したリソースを新しいデータで更新するために使用される。

DELETE:
指定したリソースを削除するために使用される。

PATCH:
リソースの一部を更新するために使用される。

これらのメソッドは、サーバーに対するリクエスト内容の性質を明確に定義し、クライアントとサーバー間でのデータのやり取りを効率的に行うための重要な役割を担っています。

主なHTTPメソッド

HTTPメソッドの基本的な整理として、最もよく使われる「GET」と「POST」について、過去の記事で詳しくまとめていますので、ぜひ参考にしてください。

GET

概要: サーバーからデータを取得するために使用。
特徴:

  • リクエストパラメータはURLに付加される(例: https://example.com/api/resource?id=123)。
  • データの取得専用であり、サーバー側の状態を変更しない。
  • キャッシュされやすい。
    : Webページを表示、検索結果を取得。

AWS LambdaとAPI Gatewayを使用したGETリクエスト対応のサーバーレスアーキテクチャ構築については、以下の記事を参考にしてください。

POST

概要: サーバーにデータを送信し、新しいリソースを作成する際に使用。
特徴:

  • リクエストボディにデータを含む。
  • サーバー側でデータの変更や追加が発生する。
  • URLにはパラメータが含まれない(ボディに含める)。
    : ユーザー登録、フォーム送信。

AWS LambdaとAPI Gatewayを使用したPOSTリクエスト対応のサーバーレスアーキテクチャ構築については、以下の記事をご参照ください。

PUT

概要: 指定したリソースを作成または更新する際に使用。
特徴:

  • リソース全体を更新する(部分更新はできない)。
  • 指定されたリソースが存在しない場合は新規作成されることもある。
    : ユーザー情報の更新。

PATCH

概要: リソースの一部を更新する際に使用。
特徴:

  • PUTと異なり、部分的な更新に対応。
    : ユーザーのメールアドレスだけを更新。

PUTとPATCHの違いについては、以下の記事で簡単にまとめていますので参考にしてください。

DELETE

概要: 指定したリソースを削除する際に使用。
特徴:

  • サーバー上からデータを削除するためのメソッド。
    : 投稿やユーザーアカウントの削除。

HEAD

概要: GETメソッドと同じ動作をするが、レスポンスボディを返さない。
特徴:

  • リソースの存在確認やメタデータ取得に使用。
    : ファイルのサイズや更新日時を確認。

OPTIONS

概要: サーバーがサポートするHTTPメソッドや機能を確認する際に使用。
特徴:

  • 主にクロスオリジンリクエスト(CORS)時に利用される。
    : ブラウザがサーバーの許可設定を確認。

TRACE

概要: リクエストがサーバーにどのように届くかを確認するために使用。
特徴:

  • デバッグ目的で使用。
    : ネットワーク経路の確認。

CONNECT

概要: トンネル接続を確立するために使用。
特徴:

  • 主にHTTPS通信で使われる。
    : プロキシサーバーを通じたSSL通信。

まとめ

最後までお読みいただき、ありがとうございました。ITスクールのハッカソンに参加し、実際に手を動かしたことで、より実践的なスキルを獲得することができました。

アプリケーションを設計する際は、これらのメソッドの特性を理解し、適切な使い分けを行うことが重要だと痛感しましt

これからも、このような基本的な内容を丁寧にまとめ、知識を定着させていきたいと思います。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?