basyura's blog

あしたになったらほんきだす。

Webを支える技術 -HTTP、URI、HTML、そしてREST - 山本陽平

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

★★★☆☆

あるリソースを取得するのか更新するのかは、URI で指定するのではなく、URI に適用する HTTP メソッドで決定します。つまり、URI と HTTP メソッドの関係は、名詞と動詞の関係にあります。したがって URI は、全体として名詞となるように設計するべきです。

Rails 1 系だと

http://example.jp/sample/people/show/123

だったのが、Rails 2 系だと

http://example.jp/sample/people/123

となっていて、実装に依存した URI にならないようにデフォルトでなってるらしい。しらなかった。

HTML の中でさらに意味のあるデータを表現するための技術が microformats です。microformats を用いると、リンクの細かい意味やイベント情報などを表現できます。

全く知らない、、、いちおう仕事で Web 関係やってんのに。この技術は AutoPagerize に取り入れられているというのでソースを見てみた。

var MICROFORMAT = {
    url:          '.*',
    nextLink:     '//a[@rel="next"] | //link[@rel="next"]',
    insertBefore: '//*[contains(@class, "autopagerize_insert_before")]',
    pageElement:  '//*[contains(@class, "autopagerize_page_element")]',
}

該当する siteinfo が無い場合は、MICROFORMAT の判定に入る。url が全てを許容しているので、nextLink、pageElement に該当する要素があるかを判定。要素がある場合は AutoPagerize 可能。実際に要素を書く方法は、

埋め込みの形式は以下の通りです

  • link要素またはa要素でrel="next" (複数あった場合は、先に現れるものが選ばれます)
  • class でautopagerize_insert_before (複数あった場合は、先に現れるものが選ばれます)
  • classで autopagerize_page_element (複数指定可、指定したもの全てが挿入されます)
サイトをAutoPagerizeに対応させる方法

これさえあれば、Wedata に登録されてなくても OK。便利な世の中になったもんだ。

本書は「WEB+DB PRES」に掲載されていたものに加筆と修正を大幅に加えたもの。雑誌やブログで断片的に読むことができるけど、まとまった形で読める「本」は偉大だなぁと感じた。今後出てくる電子書籍がどうなるか。興味はものすごくあるし iPad を購入したいと思ってるけど、どうなのかなぁ。雑誌は iPad で、勉強物や気に入ったものは本でってなるかなぁ。個人的にはジャンプを漫画単位で売って欲しい・・・多少高くてもいいから。面白いのが少ないし、買ってもゴミになるから。