「Webを支える技術」を目次だけ読んで中身を想像した

f:id:hiroga_cc:20170925214139j:plain

実は冗談でやってるわけではない。 こないだ読んだ「本を読む本」という本に、目次を読んで中身を想像するのは大事だって書かれていたような気がするので実践してみてる。

第1部 Web概論

Webの歴史を論じている。コンピュータが軍や大学にしかなかった時代から、アプリがWeb上で動くようになった現代までの流れを追う。 「Web APIをめぐる議論」にSOAPとWS-とRESTのことが書いてある。WS-って何か分からないが、RESTと対比されているのでクライアント側のフォーマットが決まっているプロトコルなのではないか。 RESTについて1章割いている。RESTfulなAPIをどう設計するかについて論じていると予想。URIの体系とか、サーバーサイドの実装のコツ(キャッシュをリバースプロキシにもたせるとか?)が書かれているのではないか。

第2部 URI

URIの仕様と設計について。仕様の章は、URIを要素に分解して説明していると予想。プロトコルドメイン、etc… 改めて説明しようとするとできないな。 設計の章は、ドメインが変わったときやAPIを追加したいときなんかの変化に強いURI体系について論じているのではないか。サービス/領域/リソース名 みたいに分解すると予想。

第3部 HTTP

基本→メソッド→ステータスコード→ヘッダ。HTTPの中身を要素ごとに解説すると予想。 ぶっちゃけレスポンスそのものって私は見たことほぼなくて、アプリケーションでformに梱包されているのしか受け取った覚えがない。 メソッド(DELETEとかPUTとか)にもページを割いている。GETとPOST以外使ったことないけど、態度として正しいんだろうか。

第4部 ハイパーメディアフォーマット

HTMLとJSONはわかるんだけど、microformatsAtomって何だろう。microformatsRDFと対置されるものらしい。Web以前のドキュメントの装飾とかに使われた古いフォーマットだろうか。 AtomRSSとかと一緒に見かけたことがある。ブログの更新とかに使われるんだろうか。これって現役の技術? JSONは知ってるけど、ハイパーメディアフォーマットって映像とか動画とか埋め込むフォーマットだと思ってた。誤解かもしれない。

第5部 Webサービスの設計

読み書きとリソースの設計。読みは置いといて、書き込みは排他制御とか。トランザクションリソースって聞き慣れない言葉だけど、DBだとトランザクションレベルって言葉があるから、そのWeb版かな? トランザクションレベルとは、逐次コミットとかまとめてコミットとかそういうやつだったと思う。 リソースの設計って何だ。と思ったが、DBではこんな形、Webサービスにしたらこんな形、の黄金パターンみたいなものかしら。