7
3

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リクエストメソッドとは

HTTPリクエストメソッドは、クライアントがWebサーバーに対して「何をしたいのか」を伝えるための命令です。例えば、Webページを見たい時は GET 、フォームを送信する時は POST というように、目的に応じて適切なメソッドを使用します。

HTTPリクエストメソッドの3つの特性

安全性

メソッドの安全性とは、サーバー上のデータを変更しない、読み取り専用の操作を指します。

  • GET で記事の情報を取得する     → 安全(データを変更しない)
  • POST で新しい記事を投稿すること → 安全ではない(データを変更する)

べき等性

べき等性とは、同じ操作を何度実行しても結果が変わらない性質のことです。

  • 同じページを何度 GET しても、内容は変わりません → べき等性
  • 同じデータで何度 PUT しても、結果は同じです → べき等性
  • POST は毎回新しいリソースを作成する → べき等性ではない

キャッシュ可能

キャッシュ可能とは、そのリクエストの結果を保存しておき、同じリクエストが来た時に再利用できる性質です。

  • 記事を取得する GET が頻繁に行われるサービスでレスポンスを早くしたいときにキャッシュとして保存することができる

主要なメソッド

GET: 情報の取得

Webページの表示する時など、あらゆる情報を取得するときに使用されるメソッドです。

  • 特徴:
    • 安全である
    • べき等性を持つ
    • キャッシュ可能
    • URIのパラメータでリソースの指定をする

POST: 新規作成

新しい情報をサーバーに送信する時に使用します。新しい記事を投稿する場合や写真をアップロードする場合などに使用します。

  • 特徴:
    • 安全でない
    • べき等性を持たない
    • 基本的にキャッシュ不可
    • リクエストボディにデータを含める

PUT: 更新(置換)

既存のリソースを完全に置き換える時に使用します。プロフィール情報全体を更新する場合などに使います。

  • 特徴:
    • 安全でない
    • べき等性を持つ
    • キャッシュ不可
    • リソース全体の置換を行う
    • 指定されたURIにリソースが存在しない場合は新規作成

PATCH: 部分更新

リソースの一部だけを更新する時に使用します。ユーザーの名前だけを変更する場合などに使用されます。

  • 特徴:
    • 安全でない
    • べき等性を持たない可能性がある(実装による)
    • キャッシュ不可
    • リソースの一部のみを更新

DELETE

指定したリソースを削除する時に使用します。記事の投稿を削除する場合などに使用されます。

  • 特徴:
    • 安全でない
    • べき等性を持つ
    • キャッシュ不可
    • 成功時は通常204 No Contentを返す

マイナーなHTTPメソッド

HEAD

GET と似ているが、ボディー情報は返さず、ヘッダー情報のみを返します。

  • 使用例:
    • 大きなファイルをダウンロードする前にサイズを確認したい場合

OPTIONS

サーバーがサポートしている機能を確認するために使用します。

  • 使用例:
    • CORS のプリフライトリクエスト
    • 利用可能なHTTPメソッドの確認
    • サーバーの設定確認

TRACE

リクエストの経路追跡のデバックに使用される。

攻撃を受けると認証情報が盗み出される危険がある

  • セキュリティ上の理由で多くのサーバーでは無効化
  • デバッグ目的以外での使用は推奨されない

CONNECT

プロキシを介したトンネル接続の確立に使用されます。

  • 使用例:
    • HTTPS通信のプロキシ経由での確立
    • WebSocket接続の確立

参考

7
3
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
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?