REST誤用が多い?

誤用促進例とは以下のようなものらしい:

「REpresentational State Transferの略語。HTTPリクエストに対してXMLをレスポンスとして返す。********WebサービスはRESTを採用しています。」

こういうことが起きるのは、まず先に(CGIのかわりかなんかで)「REST」という用語を使うように決め、そのあとで説明が必要になる状況が起きるからかな、とも思ったり。確かに典型例として用いられるAmazonGoogleのREST型のサービスは、上記説明の条件は満たしてるけど、それは荒すぎる。これはあれだ。ちょっと前の、本田由紀本のキーワードを使ってはあちゅう主義的発言するのと似ているだろうか。

たしかに簡潔な説明は難しいけど、外から見てそれが本当にRESTfulなのかそうでないのかをテストするやりかたはあります。ひとつの方法としては、そのサービスでキャッシュ可能と考えられる部分が本当に「キャッシュ可能」にできているかどうかを確かめることです。

RESTではキャッシュ可能という面でGETメソッドは特別に扱われます。疎結合化のためにリクエストレスポンスという一見非効率な通信セマンティクスを使っても全体的には効率的でいられるのは、通信全体の大半は参照のGETであるとして、キャッシュによって通信を省けるようにしてるから。ここがありきたりのネットワークアーキテクチャと大きく違うところですし。