Restful-statelessness

提供:Dev Guides
移動先:案内検索

RESTful Webサービス-ステートレス

RESTアーキテクチャに従って、RESTful Webサービスはサーバー上でクライアントの状態を保持するべきではありません。 この制限はステートレスと呼ばれます。 コンテキストをサーバーに渡すのはクライアントの責任であり、サーバーはこのコンテキストを保存してクライアントのさらなるリクエストを処理できます。 たとえば、サーバーによって維持されるセッションは、クライアントによって渡されるセッション識別子によって識別されます。

RESTful Webサービスはこの制限に従う必要があります。 リンク:/restful/restful_methods [RESTful Web Services-Methods]の章でこれを確認しましたが、Webサービスメソッドは、呼び出されたクライアントからの情報を保存していません。

次のURLを考慮します-

[[1]]

ブラウザまたはJavaベースのクライアントまたはPostmanを使用して上記のURLにアクセスすると、サーバーはクライアントに関する情報を格納しないため、結果は常にIDが1のユーザーXMLになります。

<user>
   <id>1</id>
   <name>mahesh</name>
   <profession>1</profession>
</user>

ステートレスの利点

以下は、RESTful Webサービスのステートレス性の利点です-

  • Webサービスは、各メソッド要求を個別に処理できます。
  • Webサービスは、クライアントの以前の対話を維持する必要はありません。 アプリケーションの設計を簡素化します。
  • HTTPはそれ自体がステートレスプロトコルであるため、RESTful WebサービスはHTTPプロトコルとシームレスに連携します。

無国籍の短所

以下は、RESTful Webサービスのステートレス性の欠点です-

  • Webサービスは、各リクエストで追加の情報を取得し、クライアントとのやり取りを処理する場合にクライアントの状態を取得するために解釈する必要があります。