あまてっく。

Everything will be OK...

Ruby on Rails RESTful

RESTfulな書き方がよく理解できてない。。

 

GET,POST,PATCH,DELETEといったHTTPメソッドがいろいろでてきたりしているが、よく理解していないため、勉強しなおしてみることにした。

 

今回私が購入したのはこの本。 

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

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

 

 

Webを支える技術!!

 目次はこんな感じになってます。

 

◇第1部 Web概論
□第1章 Webとは何か
■1.1 すべての基盤であるWeb
■1.2 さまざまなWebの用途
■1.3 Webを支える技術
■1.4 本書の構成
□第2章 Webの歴史
■2.1 Web以前のインターネット
■2.2 Web以前のハイパーメディア
■2.3 Web以前の分散システム
■2.4 Webの誕生
■2.5 Webの標準化
■2.6 Web APIをめぐる議論
■2.7 すべてがWebへ
□第3章 REST ── Webのアーキテクチャスタイル
■3.1 アーキテクチャスタイルの重要性
■3.2 アーキテクチャスタイルとしてのREST
■3.3 リソース
■3.4 スタイルを組み合わせてRESTを構成する
■3.5 RESTの2つの側面
■3.6 RESTの意義

 

◇第2部 URI
□第4章 URIの仕様
■4.1 URIの重要性
■4.2 URIの構文
■4.3 絶対URIと相対URI
■4.4 URIと文字
■4.5 URIの長さ制限
■4.6 さまざまなスキーム
■4.7 URIの実装で気をつけること
□第5章 URIの設計
■5.1 クールなURIは変わらない
■5.2 URIを変わりにくくするためには
■5.3 URIユーザビリティ
■5.4 URIを変更したいとき
■5.5 URI設計のテクニック
■5.6 URIの不透明性
■5.7 URIを強く意識する

 

◇第3部 HTTP
□第6章 HTTPの基本
■6.1 HTTPの重要性
■6.2 TCP/IPとは何か
■6.3 HTTPのバージョン
■6.4 クライアントとサーバ
■6.5 リクエストとレスポンス
■6.6 HTTPメッセージ
■6.7 HTTPのステートレス性
■6.8 シンプルなプロトコルであることの強み
□第7章 HTTPメソッド
■7.1 8つしかないメソッド
■7.2 HTTPメソッドとCRUD
■7.3 GET ── リソースの取得
■7.4 POST ── リソースの作成、追加
■7.5 PUT ── リソースの更新、作成
■7.6 DELETE ── リソースの削除
■7.7 HEAD ── リソースのヘッダの取得
■7.8 OPTIONS ── リソースがサポートしているメソッドの取得
■7.9 POSTでPUT/DELETEを代用する方法
■7.10 条件付きリクエスト
■7.11 べき等性と安全性
■7.12 メソッドの誤用
■7.13 Webの成功理由はHTTPメソッドにあり
□第8章 ステータスコード
■8.1 ステータスコードの重要性
■8.2 ステータスラインのおさらい
■8.3 ステータスコードの分類と意味
■8.4 よく使われるステータスコード
■8.5 ステータスコードとエラー処理
■8.6 ステータスコードの誤用
■8.7 ステータスコードを意識して設計する
□第9章 HTTPヘッダ
■9.1 HTTPヘッダの重要性
■9.2 HTTPヘッダの生い立ち
■9.3 日時
■9.4 MIMEメディアタイプ
■9.5 言語コード
■9.6 コンテントネゴシエーション
■9.7 Content-Lengthとチャンク転送
■9.8 認証
■9.9 キャッシュ
■9.10 持続的接続
■9.11 そのほかのHTTPヘッダ
■9.12 HTTPヘッダを活用するために

 

◇第4部 ハイパーメディアフォーマット
□第10章 HTML
■10.1 HTMLとは何か
■10.2 メディアタイプ
■10.3 拡張子
■10.4 XMLの基礎知識
■10.5 HTMLの構成要素
■10.6 リンク
■10.7 リンク関係 ── リンクの意味を指定する
■10.8 ハイパーメディアフォーマットとしてのHTML
□第11章 microformats
■11.1 シンプルなセマンティックWeb
■11.2 セマンティクス(意味論)とは
■11.3 RDFmicroformats
■11.4 microformatsの標準化
■11.5 microformatsの分類
■11.6 microformatsとRDFa
■11.7 microformatsの可能性
■11.8 リソースの表現としてのmicroformats
□第12章 Atom
■12.1 Atomとは何か
■12.2 Atomのリソースモデル
■12.3 エントリ ── Atomの最小単位
■12.4 フィード ── エントリの集合
■12.5 Atomの拡張
■12.6 Atomを活用する
□第13章 Atom Publishing Protocol
■13.1 Atom Publishing Protocolとは何か
■13.2 AtomPubのリソースモデル
■13.3 ブログシステムを例に
■13.4 メンバリソースの操作
■13.5 サービス文書
■13.6 AtomPubに向いているサービス
□第14章 JSON
■14.1 JSONとは何か
■14.2 メディアタイプ
■14.3 拡張子
■14.4 データ型
■14.5 JSONPによるクロスドメイン通信
■14.6 ハイパーメディアフォーマットとしてのJSON

 

◇第5部 Webサービスの設計
□第15章 読み取り専用のWebサービスの設計
■15.1 リソース設計とは何か
■15.2 リソース指向アーキテクチャのアプローチ
■15.3 郵便番号検索サービスの設計
■15.4 Webサービスで提供するデータを特定する
■15.5 データをリソースに分ける
■15.6 リソースにURIで名前を付ける
■15.7 クライアントに提供するリソースの表現を設計する
■15.8 リンクとフォームを利用してリソース同士を結び付ける
■15.9 イベントの標準的なコースを検討する
■15.10 エラーについて検討する
■15.11 リソース設計のスキル
□第16章 書き込み可能なWebサービスの設計
■16.1 書き込み可能なWebサービスの難しさ
■16.2 書き込み機能な郵便番号サービスの設計
■16.3 リソースの作成
■16.4 リソースの更新
■16.5 リソースの削除
■16.6 バッチ処理
■16.7 トランザクション
■16.8 排他制御
■16.9 設計のバランス
□第17章 リソースの設計
■17.1 リソース指向アーキテクチャのアプローチの落とし穴
■17.2 関係モデルからの導出
■17.3 オブジェクト指向モデルからの導出
■17.4 情報アーキテクチャからの導出
■17.5 リソース設計で最も重要なこと

 

◇付録
□付録A ステータスコード一覧
□付録B HTTPヘッダ一覧
□付録C 解説付き参考文献

 

 

ページ数は約350ページかな?

 

毎日読んでいきます!