Webの「正しい」アーキテクチャ@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。20:32taiさん、詳細な解説ありがとうございます。http://www.w3.org/TR/html4/interact/forms.html#h-17.13の話だと思います。すみません、どれがRESTでどれが違うのかが私にはよくわかりません。AmazonがRESTという(あるいはWebという)アーキテクチャを念頭において設計されたシステムであれば、必然的に参照可能となるべき情報が、実際には参照可能でないということは、Amazonは別のアーキテクチャによって作られたシステムであるということになります。ところで、RESTというあーきてくちゃは、Webというものをよく表しているという定評がすでにあります。いうことは、Web上に作られていながらRESTを念頭におかないと、何らかの弊害が出るはずです。その弊害が記事の冒頭で指摘した問題に表れていると考えました。記事ではそれがPOSTになっていることを直接の原因として指摘してはいますが、この問題はFORMのMETHODをGETにすれば解決するものではありません。そもそも、「検索プログラム」に「パラメータ」として条件を与えるという思想自体が、すでにRESTアーキテクチャを念頭に置かない設計になっていると考えるからです。本記事で示した「オピニオン」は、POSTばっかり使うな!ということではありません。みんなPOSTを無闇に使うのでしょうか?この理由を私は2つ考えます。1つは、開発ツールによる安易なHTTPの隠蔽です。ASP.NETの例を示したとおりです。1つは、システムのアーキテクチャというものを無視する傾向です。システムを開発するときに、いきなりその問題領域で表れる「オブジェクト」の抽出から始めてしまうような開発スタイルでは、往々にしてオブジェクトの相互作用だけに目が向きがちで、その結果得られる「全体」がよく見えなくなってしまいます。この2つ目の問題は、システム開発者の問題でもあるでしょうし、開発者を支援するツールベンダーの問題でもあるでしょう。上記の問題点1は、ツールベンダー自身がアーキテクチャを無視しているから生まれる問題だともいえますから。私は実はRESTについてそれほど詳しいわけではありませんし、記事の中でRESTの解説をしようと思ったわけではありません。なく、システムのアーキテクチャを考えないとどんなシステムが生まれるのかという視点です。逆に、なぜそのシステムは「変」になってしまったのか、という視点です。記事中で指摘しているASP.NETやAmazonの問題は、私の主張を裏付ける現象を示していて、それ自身が解決すべき問題であるといっているわけでは必ずしもありません。