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。ConnectMethodConnectメソッドは、クライアントとサーバー間のEnd -to -End接続を確立するために使用されます。トンネルのように、それらの間に2つの方向の接続を構築します。たとえば、この方法を使用して、クライアントとサーバー間で大きなファイルを安全に送信できます。
以上がHTTPメソッドとコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。