HTTPメソッドとコード

Barbara Streisand
リリース: 2025-01-30 02:38:09
オリジナル
510 人が閲覧しました

Http methods and codes

HTTPメソッドは、特定のリソースを実行したいAPIクライアントの操作を示すために使用されます。各HTTPメソッドは、リソースの作成、読み取り、更新、削除などの特定の操作に対応し、REST APIの各リクエストにはHTTPメソッドを含める必要があります。

HTTPプロトコルの動作原則は、クライアントがサーバーにリクエストを送信し、サーバーがこれらのリクエストに応答することです。さまざまなHTTPメソッド(HTTP動詞と呼ばれることもあります)を使用して、CRUD操作(作成、読み取り、更新、削除)を使用してHTTPリクエストを送信します。取得と投稿は、最も一般的に使用されるHTTPメソッドですが、学習するHTTPメソッドが増えます。この記事では、さまざまなHTTPメソッドと、Web APIの構築と使用時に使用する方法を紹介します。

9つのHTTPメソッドが理解する必要があります

1。メソッドを取得

リソース(Webサイト、サーバー、APIなど)からデータを取得する場合は、Get Requestsを送信します。たとえば、顧客リストや特定の顧客が必要な場合は、サーバーにGETリクエストを送信します。

GETメソッドはリソース上のデータを変更するのではなく、読み取る(読み取る)だけであるため、セキュリティメソッドと見なされます。さらに、GETメソッドはパワーです。

GETメソッドを使用してAPIをテストする方法は?

APIをテストする場合、最も一般的な方法はGETメソッドです。したがって、次の状況を期待しています:

リソースがアクセス可能な場合、APIは200ステータスコードを返して「OK」を示します。

200ステータスコードに加えて、サーバーは通常、XMLまたはJSON形式の応答テキストを返します。たとえば、[/メンバー] EndpointがXMLまたはJSON形式のメンバーのリストを返すことを期待しています。

サーバーがエンドポイントをサポートしていない場合、サーバーは404ステータスコードを返し、「見つかりません」を示します。

間違った文法でリクエストを送信すると、サーバーは「間違ったリクエスト」を示すために400ステータスコードを返します。

投稿メソッドは、バックエンド(サーバー)に新しいリソースを作成します。リクエストテキストには、サーバーに送信するデータが搭載されています。セキュリティ方法でも力でもありません。送信リクエストごとに同じ結果は期待していません。たとえば、2つの同じ投稿リクエストは、同じデータと異なるリソースIDを備えた2つの新しい等価リソースを作成します。

サーバーにPOSTリクエストを送信する場合、次の状況が期待されます。

理想的には、POST要求が反対側に新しいリソースを作成する場合、応答には「作成」を意味する201の状態コードが必要です。

POSTリクエストの実行が特定のURLでリソースを返さない場合があります。

ポストエンドポイントのテスト方法 POSTメソッドはデータを作成するため、APIのすべてのPOSTメソッドをテストすることを強く推奨する必要があります。さらに、テストが完了したら、作成したリソースを必ず削除してください。

以下は、POSTメソッドを使用するAPIをテストするために使用できる提案です。

POSTメソッドを使用してリソースを作成すると、201の状態コードを返す必要があります。

GETメソッドを実行して、リソースが正常に作成されているかどうかを確認します。 200ステータスコードを取得し、作成されたリソースに応答する必要があります。

誤ったデータまたは誤ったデータを使用してPOSTメソッドを実行して、操作が失敗するかどうかを確認します。

Put Requestメソッドを使用して、更新されたデータを要求テキストのコンテンツとしてサーバーに送信することにより、既存のリソースを更新できます。 PUTメソッドは、すべてを完全に置き換えることにより、リソースを更新します。リソースコレクションに適用される場合は、コレクション全体を置き換えるため、注意深く使用してください。サーバーは、既存のリソースを正常に更新した後、200または204のステータスコードを返します。 PUTメソッドを使用してAPIをテストする方法は?

Put Methodは電源など、リソース全体を変更するため、動作をテストするために、次の操作を確保します。

サーバーに何度もプットリクエストを送信すると、常に同じ結果を返す必要があります。

サーバーがプット要求を完了し、リソースを更新すると、応答には200または204のステータスコードが必要です。

サーバーがプットリクエストを完了した後、リソース上のデータが正しく更新されているかどうかを確認するためにGETリクエストが発行されます。

入力が無効であるか、フォーマットがエラーである場合、リソースは許可されません。

パッチは、もう1つの珍しいHTTPメソッドです。 Putと同様に、パッチはリソースを更新しますが、すべての更新ではなく、データのみを更新します。たとえば、より正確な理由で、リクエスト[Put] Customers/{customerID}は、リソースの顧客エンティティのフィールドを完全に更新します。ただし、パッチメソッドは、顧客エンティティが提供するフィールドを更新します。一般に、この変更はJSONやXMLなどの標準形式でなければなりません。

パッチメソッドでAPIをテストする方法は?

パッチメソッドを使用してAPIをテストするには、この記事で説明した手順に従って、PUTおよびPOSTメソッドでAPIをテストしてください。次の結果を考慮してください:

サーバーにパッチ要求を送信します。

Get Requestsを実行し、コンテンツが正しく更新されているかどうかを確認します。

要求が正しくない場合、または形式が正しくない場合、操作が失敗する必要があります。

名前が示すように、リソースを削除します。削除メソッドはパワーです。数個の呼び出しが呼び出されても、同じ結果を返します。 ほとんどのAPIは、削除されたリソースを削除しようとする場合でも、常に200の状態コードを返しますが、ターゲットデータが存在しなくなった場合、メソッドコールは404ステータスコードを返します。

削除エンドポイントをテストする方法は?

サーバー上の一部のコンテンツを削除する場合、注意する必要があります。データを削除していますが、これは重要です。まず、削除データが許容できることを確認してから、次の操作を実行します。

新しいリソースを作成するためにPOSTメソッドを呼び出します。実際のデータを使用して削除をテストしないでください。たとえば、最初に新しい顧客を作成してから、作成したばかりの顧客を削除してみてください。

特定のリソースの削除リクエストを送信します。たとえば、[削除] /customer /{customer-id}指定された顧客IDを持つ顧客を削除するリクエスト。

削除された顧客のGETメソッドを呼び出すと、リソースが存在しないため404を返す必要があります。

6。HEADMESTH ヘッドメソッドは、GETメソッドに似ています。しかし、応答テキストはないため、応答テキストを誤って返す場合は、無視する必要があります。たとえば、[get] /customers endpointは、応答テキストの顧客リストを返します。さらに、[head] /顧客も同じ操作を実行しますが、顧客リストには戻りません。 Get Endpointsを要求する前に、ヘッドリクエストを送信して、ダウンロードしているファイルまたはデータのサイズを決定できます。したがって、ヘッド方法は安全でパワーです。

ヘッドエンドポイントをテストする方法ヘッド方法の利点の1つは、APIがサポートする限り、サーバーが利用可能かつアクセス可能かどうかをテストできることであり、テキストに応答しないため、GETメソッドよりもはるかに高速であることです。 。 APIから取得したステータスコードが200であることを願っています。互いにHTTPメソッドの前に、ヘッドメソッドを使用してAPIをテストできます。

7。Optionsメソッド この方法を使用して、サーバーで提供する可能性のある通信オプション(許可されたHTTPメソッド)に関する情報を取得するか、STAR番号を使用してサーバー全体を参照します。この方法は安全でパワーです。

さまざまなブラウザを使用して、オプション方法を使用して、ターゲットAPIのCORS(送信リソース共有)操作が制限されているかどうかを確認します。

オプションEndPointをテストする方法

サーバーがオプションメソッドをサポートするかどうかによると、オプションメソッドを使用して、サーバーの致命的な障害の数をテストできます。試してみてください。次のポイントを考えてみてください

オプションリクエストを送信し、返されたヘッダーとステータスコードを確認します。

オプションメソッドをサポートしていないリソースの障害をテストします。

トレース法は診断に使用されます。クライアントの前にサーバーにリクエストすると同じ要求テキストを使用して、リングバックテストを作成し、成功した応答コードは200 OKです。トレース方法は安全でパワーです。

トレースメソッドは、資格情報を漏れている可能性があるため、危険な場合があります。ハッカーは、内部ID検証ヘッダーを含むクライアント攻撃を使用できます。

TRACEメソッドを使用してAPIをテストする方法は?

/api /statusのget requestなどの標準のHTTP要求を送信します

交換して、トレースを取得して再度送信します。

サーバーのコンテンツを確認します。応答が元の要求と同じ情報を持っている場合、サーバーでトレース関数が有効になり、作業が正常です。

9。ConnectMethod

Connectメソッドは、クライアントとサーバー間のEnd -to -End接続を確立するために使用されます。トンネルのように、それらの間に2つの方向の接続を構築します。たとえば、この方法を使用して、クライアントとサーバー間で大きなファイルを安全に送信できます。

httpメソッド比較

メソッドサマリーCRUDは、リクエストテキストのパワーとその他のセキュリティのリクエストを受け入れます 単一のリソースまたはリソースグループの読み取りを取得します 1つのリソースアップデートのタイムアップデートはイエスです 新しいリソース作成を作成することは可能ですか? パッチの更新リソースアップデートの一部 削除リソースを削除しますか? オプション許容操作に関する情報を取得しますか? エンドポイントメタデータのヘッドの獲得はそれです トレースは、読書の目的を診断するために使用されます Connectは、クライアントとリソースとの間に2つのウェイ接続を確立します-no-

以上がHTTPメソッドとコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート