【エントリーでP10倍】バッフル/ステー/スプリング G03-G G03 パワーアップ スポーツチャンバー 3000本販売記念モデル ゴールド KN企画

投稿日: 投稿者: 2輪 ヤマモトレーシング spec-A マフラー SUS SLIP-ON TWIN カーボン 品番:10253-02NCN ホンダ ホーネット250 2輪 ホットラップ マフラー(スクーター) GUNFINGER Ver1 P031-7198 ステンレス/カーボン ヤマハ グランドマジェスティ250user

【エントリーでP10倍】バッフル/ステー/スプリング カラー:ホワイト G03-G フロントフォークスプリング G03 パワーアップ スポーツチャンバー 3000本販売記念モデル ゴールド KN企画

冪等とは、ある操作を1回行っても複数回行っても結果が同じこと、である。

HTTPメソッド

GET・HEAD

GET・HEADが冪等というのは 【関西、関東限定】取付サービス品17 マジェスタ トランクスポイラー / リアリップスポイラー【ランド エアロテック】MAJESTA UZS/JZS17 AVANT 3pcs TRUNK SPOILER、納得がいく。

確かに、同じリソースファイルのURLに何度GET・HEADリクエストしようとも 【サポートバー】 ロワーフェアリング サポートバー:2010年以降FLTRXに適合 (クローム) ハーレーパーツ、リソースの状態は変わらないだろう。

少し引っかかるのは、クライアントに返却されるレスポンスコードは変わるということだ。

GETのレスポンスは、リソースファイルがクライアントでキャッシュされているかによって、200(200)か304(Not Modified)になるだろう。

PUT・DELETE

PUT、DELETEについては疑問が残る。

PUTは、対象のリソースを更新するが 【イベント開催中!】 CHIC DESIGN シックデザイン クラシックフェンダー リア クラシックテールランプ(ルーカス小)付き カラー:メタリックディアブロブラック W800、リソースがなければ作成する。

DELETEは、対象のリソースがあれば削除するが、リソースがなければ何もしない。

サーバーのリソースの状態を見ると、PUTの場合、1度目のリクエストでリソースが作成され 【メーカー在庫あり】 アルインコ(株) アルインコ リチウムイオンバッテリーパック EBP89 JP、

【エントリーでP10倍】バッフル/ステー/スプリング G03-G G03 パワーアップ スポーツチャンバー 3000本販売記念モデル ゴールド KN企画,[#tong##]

お取寄せ商品とは? 【取寄】と表示されている商品はお取寄せ対象商品となります。 1.ご入金を頂いてからメーカー様へ商品を取寄せ致しますので、発送までお時間がかかります。 また、ご注文時の配送日時指定ができません。 2.受注後発注につき、ご注文後のキャンセルは承っておりません。 3.メーカー様の在庫の状況により取寄せができない場合がございます。 商品のご用意ができない場合は、結果をご連絡の上ご注文商品をキャンセルとさせていただきます。 < br="">商品名:G03 パワーアップ スポーツチャンバー 3000本販売記念モデル ゴールドメーカー名:KN企画メーカー品番:G03-G適合車種:グランドアクシス100BWS100仕様:装着すると確実にパワーUP最高速とトルクがUPいたします。特長:装着すると確実にパワーUP最高速とトルクがUPいたします。仕様:ストリートチャンバー G03 3000本販売記念モデル注意:必ず駆動系吸気系セッティング必要となるチャンバーです。

、2度目のリクエストでリソースが更新される。

DELETEの場合、1度目のリクエストでリソースが削除され、2度目のリクエストはリソースが見つからず何もしない。

クライアントへのレスポンスを見ると、PUTの場合、1度目のリクエストで201 (Created)が返され、2度目のリクエストで200 (Ok)が返ってくる。

DELETEの場合、1度目のリクエストで200 (Ok)が返され Motorcycle スカル Diamon Grip For ヤマハ Sportbikes 1989-2012 V-スター ロード スター ロイヤル スター (海外取寄せ品)、2度目のリクエストで404 (NotFound)が返ってくる。

つまり、1度目のリクエストと2度目のリクエストで、サーバー側で行われる処理(サーバー内部処理と、サーバーからクライアントへのレスポンス)が異なるのだ。

これでも、冪等(複数回行っても結果が同じ)と言っていいのだろうか?

答え

RFCの定義


4.2.2.  Idempotent Methods

A request method is considered “idempotent” if the intended effect on

the server of multiple identical requests with that method is the

same as the effect for a single such request.  Of the request methods

defined by this specification, PUT, DELETE, and safe request methods

are idempotent.

Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

RFCには、冪等なメソッド(Idempotent Methods)について上記の記述がある。

あるリクエストメソッドを使って、複数回の同じリクエストをした場合、サーバー上の結果が、1回のリクエストの結果と同じである場合、そのリクエストメソッドは「冪等」である。

つまり 、まず「effect on the server」とあるので、クライアントへのレスポンス結果は無視して良い。

そしてサーバーの「結果」に着目すると、PUTの1回目の結果はリソースが存在するし Acerbis チェーン Guide ブロック ブラック - フィット: KTM 450 EXC-F シックス デイズ 2017-2018 (海外取寄せ品)、2回目も結果としてリソースが存在するので、サーバー上の「結果」としては同じ(=冪等)なのだ。

「effect on the server」のeffectを「効果」や「影響」の意味で捉えてしまうと、誤解してしまう。

また、当初の疑問のように、サーバーに通信した「結果」サーバー上で起こること、と捉えると混乱するので、サーバーに通信した後のサーバー上の「結果」と捉えればよい。

「安全」とは?

余談だが、PUT・DELETEは冪等であり「安全」でない、と定義されている。

「安全」とは「read-only」のことだ。

PUT・DELETEは読み込みだけでなく書き込みも行うため、

【エントリーでP10倍】バッフル/ステー/スプリング G03-G G03 パワーアップ スポーツチャンバー 3000本販売記念モデル ゴールド KN企画

、当然「安全」ではない。