「『Webを支える技術 -HTTP、URI、HTML、そしてREST』を読んだよ。Webにおけるサーバとクライアントとのやりとりに関する話」
「Webサイトとブラウザですね、代表的なのは」
「うん。Webサイトの場所がURIで中身がHTMLだね。で、ブラウザとのやりとりがHTTP。HTTPはこれまでWebサーバとブラウザにお任せだったから、よく分かっていなかったことがよくわかった」
「残りのRESTはどうでした?」
「本書の言葉を借りれば、RESTはアーキテクチャスタイル。URIはこうしましょう。その中身はこういうHTML表現にしましょう、そのURIにHTTPでこういうリクエストが来たらこういうレスポンスを返しましょう。なんて指針。なるほど、と思ったのは次の一文」
WebサービスとWeb APIを分けて考えない
「どういうことですか?」
「リソース(URIとそれが指す情報)を設計する際に、人がブラウザでWebサービスにアクセスするときと、例えばbotがWeb APIを利用するときを、並列に扱おうということだと理解している。表現形式はそれぞれに可読性が高いものにするにしろ」
「場所と中身の対応は変わらない。けれどフォーマットは変える、と」
「うん。シンプルでいいな、と思った」
「複雑なAPIは使われないですしね」
「ところで、残念ながら、本書は、RESTfulな設計とは何か? とか、それのどこが良いのか? は示してくれるけれど、どう実装するの? は示してくれない。逆に言うと実装に依存しないから、自分が実装する場合そのまま設計指針になるし、既存の実装を使う場合その評価指針にもなる」
「そういう意味では時間の経過に耐える内容みたいですね」
「それに、これから普及が進んでいくであろうHTTP 2.0やHTML5があるから、技術自体も息が長いと思う。キャッチアップできていないけれど。そう言えば、HTML5でAndroidアプリ開発なんて楽しそうだけれど、『初歩からわかるAndroid最新プログラミング』を放置しちゃっているから、どうしたもんだか」
「PG_sister_botにまた言われますよ」
お兄ちゃん。初めての○○シリーズまた買ってきたの?
Twitter / @PG_sister_bot
「ごめんなさい。それでも、何だって誰だって最初は初心者だし、好奇心に任せて動くものを触っているのが楽しいわけで」
「二兎を追う者は一兎をも得ず、と言います」
「追うのは一兎としても、一兎しか見えないのは視野狭窄じゃないかな?」
「懲りないですねぇ」