RESTの紹介

id:c-yanの薦めで、新しい「REST紹介文」(以下)を読んでみた。
http://www.infoq.com/articles/rest-introduction

結構英語がムズイ。「こんな単語忘れてたっす」系の単語が結構でてくるんだもん。

  • heterogeneous: 異質な
  • digress : (話が)本筋からそれる
  • horrid : 恐ろしい
  • appall: ゾッとさせる、ひどくショックを与える
  • pragmatic: 実践的な
  • adhere to: 〜に忠実でいる
  • exploit: 活用する
  • idempotent: 冪等な
  • vertices : vertex(頂点)の複数形
  • incarnation: 肉体を持ったもの

 (・・中には、こんなん忘れるなよ。的なのもはいってるけどさー。恥ずかしいけどUPしちゃうぜ。)

appallとかhorridあたりで、英検1級とかGRE対策でWord Smartって本を勉強してたころ(10年ぐらい前)を思い出したさ。
なんつうか、このあたりはおいらのなかで「Word Smart系単語」として括られてて、英検1級とGRE(GMATとかもかな?)と(普段ご縁のない)格調高い文章にしか出てこない言葉だと思っていたりするわけで、(大いなる誤解なのかもしれないけど)、技術系の解説文とかに出てくると面食らってしまうのだ。(ダメなやつ)

heterogeneousを忘れてたのはなんだか悔しい、留学中の構造力学で問題とくとき、必ずその対語のhomogeneousが出てたのになぁ。。あれから10年以上たつから忘れてもしゃーないか。


でも一箇所、これ間違いじゃね?ってのも見つけた。

  • authorative -> authoritative じゃね?

まあいいや。英語は本題じゃなくて、内容が本題。

この文を読んで学んだこと:

  • RESTはArchitectural styleであるということを再認識
  • HTTPはRESTスタイルであるが、HTTPでRESTの実例のひとつでしかない
  • つまり、HTTPでないRESTスタイルの何かってのがありうる。

思ったこと:

  • OpenIDって、HTTPでないRESTスタイルの何かに発展できないかな?
    • OpenIDのリダイレクトしたりする機構ってあれは美しいのか?というとあまり美しくない気がする
    • あれは認証ドメインドメイン内識別子でユニバーサルなID、グローバルなID空間というものを作り出した部分がすごいのであって、他の部分は別の形がありうるかも?
    • ユーザに付与されたID(OpenID)は、リソースなのか?
    • ユーザはリソースにアクセスする主体であって、リソースではないと捉えたほうがいいような気がする。
    • ユーザがリソースでないなら、IDにURIを使うべきではないのではないか?
    • URIそっくりだけど、UniformにUserをIdentifyするわけだからUUIみたいな名前ってありえん?
    • Uniform Consumer IdentifierでUCIかもしれないけど
    • 話は変わるけど、
    • 認証・認可ってHTTPとは別レイヤーの、HTTPを補助するプロトコル(またはHTTPヘッダ拡張)でやったほうがよいかも?
    • ていうか、HTTPに用意されている認証・認可機構ってヘッダでいろいろやってて、しかも拡張可能にみえる。
    • OpenIDに代わって、HTTPのヘッダ部分でやる認証・認可の枠組みがあったほうがよくないか?(グローバルなIDと分散認証は欲しいけど)
    • そういうHTTPを補助する認証・アクセス制御機構があったとして、その構造って、なんとなくだけどRESTにならないのかな?
    • っていうかREpresentationa State Transferって、なんで、そんな名前なんだよ。
    • Roy Fieldingの博士論文ちゃんと読んでみるべきかなぁ。

以上。