web-dev-qa-db-ja.com

HTTP動詞はいくつありますか?

私は9を数えます HTTPリクエストメソッド (別名動詞):

GET
HEAD
POST
PUT
DELETE
CONNECT
OPTIONS
TRACE
PATCH

上記から: https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods

それですか?これは変わるのでしょうか?

15
Purplejacket

レジストリ

HTTP 1.1仕様では、 ハイパーテキスト転送プロトコル(HTTP)メソッドレジストリ が定義されています。 2017-01の時点で、39のエントリが表示されます。

  • ACL
  • ベースライン制御
  • BIND
  • チェックイン
  • チェックアウト
  • 接続する
  • コピー
  • 削除
  • GET
  • HEAD
  • LABEL
  • リンク
  • ロック
  • マージ
  • MKACTIVITY
  • MKCALENDAR
  • MKCOL
  • MKREDIRECTREF
  • MKWORKSPACE
  • 移動
  • オプション
  • オーダーパッチ
  • PATCH
  • POST
  • PRI
  • PROPFIND
  • PROPPATCH
  • プット
  • 再バインド
  • 報告書
  • 探す
  • 痕跡
  • 解放する
  • チェックアウト解除
  • リンク解除
  • ロックを解除する
  • 更新
  • UPDATEREDIRECTREF
  • バージョン管理

HTTP 1.0

[〜#〜] http [〜#〜] 1.0は3つのメソッド(「動詞」)を定義しました:

  • [〜#〜] get [〜#〜]
    …すべての情報を取得します…Request-URIによって識別されます…
  • [〜#〜]投稿[〜#〜]
    …リクエストに含まれるエンティティを、リクエストラインのRequest-URIで識別されるリソースの新しい従属として宛先サーバーが受け入れるようにリクエストする…掲示板、ニュースグループ、メーリングリストにメッセージを投稿する…データのブロックを提供する…追加操作によるデータベースの拡張…
  • [〜#〜]頭[〜#〜]
    …サーバーが応答でメッセージ本文を返さないことを除いてGETと同じです…エンティティ本体自体を転送せずに、要求によって暗示されるエンティティに関するメタ情報を取得するために…

HTTP 1.1

HTTP 1.1は、 RFC 2068 で正式に定義されています。この仕様では、さらに5つのメソッドが追加されました。

  • [〜#〜]オプション[〜#〜]
    …要求/応答チェーンで利用可能な通信オプションに関する情報の要求…リソースアクションを暗示したり、リソースを開始したりすることなく、リソースまたはサーバーの機能に関連付けられたオプションや要件を決定します検索
  • [〜#〜] put [〜#〜]
    …同封のエンティティを指定されたRequest-URIの下に保存するように要求します。 …既存のリソースの場合、囲まれたエンティティは、オリジンサーバーに存在するエンティティの変更バージョンと見なされる必要があります…
  • [〜#〜]削除[〜#〜]
    …Request-URIで識別されるリソースを削除します…
  • [〜#〜] trace [〜#〜]
    …リクエストメッセージのループバック…
  • [〜#〜]接続[〜#〜]
    …動的にトンネルに切り替えることができるプロキシで使用する場合(例:SSLトンネリング…

HTTP拡張機能

他のプロトコルはHTTPを拡張して、追加のメソッド/動詞を定義します。

  • [〜#〜]パッチ[〜#〜]
    • リソースに部分的な変更を適用します
    • RFC 5789 によって定義されます
  • WebDAV さらに7つのメソッドを指定します:
    • PROPFIND
    • PROPPATCH
    • MKCOL
    • コピー
    • 移動
    • ロック
    • ロックを解除する

HTTP/2

HTTP/2RFC 754 で定義されています。 セクション3.5PRIメソッドを定義します。

  • [〜#〜] pri [〜#〜]
    HTTP/2では、各エンドポイントは、使用中のプロトコルの最終確認として接続序文を送信し、HTTP/2接続の初期設定を確立する必要があります。 …接続の序文は文字列「PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n」で始まります)…

予後

これは変わるのでしょうか?

ありそうもない。

Webの幅広い使用を考えると [〜#〜] rpc [〜#〜] および [〜#〜] soap [〜#〜] 、そして今では人気が高まっています RESTful 既存の基本動詞に新しい命を吹き込むサービス。HTTPレベルで新しい動詞を考案する必要はほとんどありません。独自のドメイン固有の意味のある動詞が必要な場合は、HTTP経由で配信されるメッセージに埋め込むことができます。

近いうちに、これ以上HTTPメソッドが普及することはないと思います。

23
Basil Bourque

仕様を参照してください:

「この仕様の範囲外の追加のメソッドは、HTTPで使用するために標準化されています。このようなメソッドはすべて、セクション8.1で定義されているように、IANAが管理する「ハイパーテキスト転送プロトコル(HTTP)メソッドレジストリ」に登録する必要があります。」 - https://greenbytes.de/tech/webdav/rfc7231.html#rfc.section.4.1.p.7 >

そして IANAレジストリ にはさらに多くのものが含まれています。

2
Julian Reschke