RESTの当惑
以前(かなり前ですが)、柴田さんから「 アプレンティスシップパターン 」を献本してもらいました。
先月ようやく読みました。章を忘れましたが「Web系のソフトを開発するならHTTPのRFCぐらい読め(意訳)」とあり、そうだそうだHTTPのRFCを読んでいないような開発者はWebを語る資格はない、と心の中で喝采をあげました。が、すぐその後に「RESTの論文も読んで当然(意訳)」とあり、心の中でまずい前言撤回となりました。
普段、なるべく一次情報に当たろうとは思っていますが、現実的には困難です。「HTTPのRFCを読んでいないような開発者はWebを語る資格はない」と偉そうなことを言いましたが、TCP/IP関係の全RFCを読まないとHTTPについて語る資格なしと言われたら、黙るしかありません。ちなみに、TCP関連だけでも http://www.networksorcery.com/enp/protocol/tcp.htm ぐらいあります。もっとも、このリストが正しいのかすら確証がありません。知らないことは多くあると思う、謙虚な姿勢が重要です。
「 アプレンティスシップパターン 」にRESTの論文ぐらい読めと喧嘩(?)を売られたので読んでみました。以下から読めます。
読んだ感想は、当惑です。
RESTとは何か、については5章の節タイトルと図を眺めるだけで一応分かります。上記リンクのクリックが面倒な人のために節タイトルだけ列挙しておきます。RESTとは何かと聞かれた時の回答にこれらを挙げれば教科書的には正解になります。
5.1.2 Client-Server 5.1.3 Stateless 5.1.4 Cache 5.1.5 Uniform Interface 5.1.6 Layered System 5.1.7 Code-On-Demand
なぜRESTかについては、読んでも腑に落ちません。1章は導入、2章は用語説明なので、なぜRESTかに答える鍵は3章と4章かと思うのですが読んでも理解できません。そもそも3章の比較(以下のリンク先にまとめの表があります)に直交性をまったく感じません。直交性がなくてもいいのか、と自問しつつも全体に腑に落ちません。
ぼくを最も当惑させるのは、この論文を先入観なしに与えられた時に正しく評価できる自信がないことです。RESTが概念として広まっている事実や、著者がApacheの有名人であることや、この論文がHTTP1.1の思想的バックボーンで著者自身がHTTP1.1の主要エディタであること、これらの背景知識がなかったとします。論文を読んだ自分の反応は、おそらく「つまらない。読む価値なし」です。こうなると、普段、自分が先入観なしに他の技術を評価できているのか怪しくなります。たぶんできていないのでしょう。こんな事実を突きつけてくる点で、実に困った論文です。
当惑の話は別にして、論文で興味深かったのが「6.3.4.2 Cookies」です。次のようにクッキー完全否定です。
cookie-based applications on the Web will never be reliable.
一部否定(クッキーに色々と状態を持たせるな)ならともかく、クッキーにセッションIDのような状態を持つことも否定しているように読めます。ここは同意できません。使える仕組みは使えばいいと思います。
- Category(s)
- カテゴリなし
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/inoue/rest/tbping