0

YouTube で REST API のビデオを聞いていました。以下のリンクは次のとおりです。

残りの API

GET、PUT、DELETE、HEAD はべき等操作であると言われています。つまり、これらを複数回呼び出して、サーバー上で同じ状態を取得できます。

誰かこの行を詳しく説明してくれませんか?

4

2 に答える 2

1

まさにそれが言うこと

まったく同じ URL で何度Resourceリクエストされても、サーバーの状態がリクエストによって副作用として変わることはありません。

冪等:

それ自体で乗算またはその他の操作を行った場合に値が変更されないセットの要素を示す

ポイントは、まったく同じ複数のリクエストです。

したがって、サーバーから同じ URLで 1000 回画像をリクエストしても、サーバー上の何も変更されません。

同じリソースで複数回呼び出しDELETEても、サーバー上の状態は変わりません。これにより、リソースが削除されますが、副作用はありません。そして、リソースがそこにない場合、それは私たちが望んでいたことであり、サーバーに影響を与えるものは何もありません.

それらVerbsには副作用があってはなりません。

この正確な URL が何GET回要求されても、サーバーの状態を変更する副作用が発生することはありません。

それは、その後の繰り返しの呼び出しについてです

例:

リソースの呼び出しGETは、データベース レコードを変更したり、何らかの変更を引き起こしたりしてはなりません。もしそうなら、ルールを守っていません。

リソースを 1000 回連続して呼び出しHEADても、サーバーの状態は変化しません。一部のリソースが個別に削除されたため、異なるデータが返される可能性がありますが、サーバー上で呼び出しを繰り返しても、何も変わらないはずです。

冪等でないもの

例:

複数回呼び出すGETと、まったく同じ URL でリクエストを行うたびに、そのリソースを追跡するカウンターが増加します。これはべき等ではありません。副作用があり、リクエストが原因でサーバーの状態が変化しています。

于 2013-10-11T03:39:54.940 に答える
0

冪等GET性とは、そのメソッド (例: )を何回呼び出しても、副作用が発生しないことを意味します。たとえばGET、URL にリクエストを発行する (http://www.google.comブラウザーで に移動する) 場合、理論的にはGET、サーバーに発行したリクエストの数に関係なく、Web サーバーの状態は変更されません。

DELETE実際の例として、一部のデータベース/INSERT操作に HTTP 経由でアクセスできないようにする必要がありますGETGETウェブサイトのクロール (つまり ting)中に、Google クローラーが誤ってデータベースからエンティティを削除してしまうという事故が数多く発生しています。

于 2013-10-11T03:47:00.490 に答える