Skip to content

Instantly share code, notes, and snippets.

@tkawa
Last active August 29, 2015 14:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tkawa/291e5825f153d5633985 to your computer and use it in GitHub Desktop.
Save tkawa/291e5825f153d5633985 to your computer and use it in GitHub Desktop.
RESTful#とは勉強会8 ポイント

RESTful#とは勉強会8 2015.07.01

質問はTwitterへ #RESTudy をつけてどうぞ。

「Webを支える技術」第9章 HTTPヘッダ (9.1 p.125〜)

9.8のDigest認証、WSSE認証はほとんど使われていないので飛ばしてください。

重要な用語・概念

その他、以前に出てきた用語も、理解が不安なときはその都度前のページを振り返って見てみましょう。

  • ボディ(レスポンスボディ) →6.6 p.76
  • リソース(→ 3.3 p.27)

グループで考えてみよう

HTTPヘッダの生い立ち (9.2 p.126)

普段使っているメールのヘッダを見てみましょう。 Gmailの場合、メニューから「メッセージのソースを表示」 ヘッダにContent-TypeDateはありますか?

Basic認証 (9.8 p.137)

Basic認証で、本文に記載されているAuthorizationヘッダの値をデコードして、ユーザー名とパスワードが見られることを確認してみましょう。

デベロッパーツールのConsoleを使いましょう。

window.atob("dXNlcjpwYXNzd29yZA==");

Basic認証のデモページを利用して、入力が実際にBase64エンコードしてヘッダで送信されていることを確認してみましょう。 http://wp-technique.com/basic/

デベロッパーツールのNetworkを使いましょう。

RESTfulなサイト作り~ひよこ編~

「Webを支える技術 第15章 読み取り専用のWebサービスの設計」 は、郵便番号検索サービス(ricollab 郵便番号検索)の設計を行っている章です。 この章を読みながら、他の郵便番号検索サービスと比べて設計の違い、自分が作るならどうするかを話し合いましょう。

範囲:15.6(p.248)〜15.5(p.247)

①〜⑦までのステップがありますが、前回の①②に引き続き、今回は

③「リソースにURIで名前を付ける」
⑤「リンクとフォームを利用してリソース同士を結び付ける」

を行っていきます。
(④「クライアントに提供するリソースの表現を設計する」は飛ばします)

前回②「データをリソースに分ける」の結果は247ページに書かれている以下のリソースを使いましょう。

  • 郵便番号リソース
    1つの郵便番号に対応するリソース。その郵便番号の住所や読みも入っている
  • 検索結果リソース
    郵便番号の一部や住所の一部で郵便番号を検索した結果のリソース
  • 地域リソース
    都道府県、市区町村、町域のリソース。上位の地域は、下位の地域の情報を含んでいる
  • トップレベルリソース
    このWebサービスのスタート地点。都道府県リソースへのリンクと、検索フォームを含んでいる

また、これに加えて前回話し合った結果出てきたリソースがあれば使ってもかまいません。

本文掲載のURLは実際にアクセスできるWebサービスです。実際に見て比べてみるとわかりやすいでしょう。

他の郵便番号検索サービスの例:

考えるポイント

本書のやり方が必ず正解というわけではありません。他のサービスではどのようになっているでしょうか。あなたならどのように作りますか?

③「リソースにURIで名前を付ける」 (15.6 p.248-)

ricollabのURLと、他の郵便番号検索サービスのURLはどのように違うでしょうか?

⑤「リンクとフォームを利用してリソース同士を結び付ける」

ricollabのリソース同士はそれぞれどのようにリンクやフォームでつながっているでしょうか? 他のサービスはどのようにつながっているでしょうか?

リソース間の遷移図(画面遷移図)を描いて比較してみましょう。 簡単な図はGoogleスライドを使うと全員で描けて便利です。 https://goo.gl/FMiaxA

図の中には、リソース名、そのリソース内で提供するデータ、リンクの名前を書きましょう。

調べ方のヒント

ブラウザのデベロッパーツールを使いましょう。
Windows: F12Ctrl+Shift+i
Mac: command+option+i

Networkタブのリクエストやレスポンスを見て、URLやメソッドを調べましょう。

REST復習の参考スライド

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment