質問はTwitterへ #RESTudy をつけてどうぞ。
9.8のDigest認証、WSSE認証はほとんど使われていないので飛ばしてください。
- Base64エンコード
https://ja.wikipedia.org/wiki/Base64- URLやファイル名に使いやすい"base64url"(RFC4648)
- シングルサインオン/ID連携
https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%B3%E3%82%B0%E3%83%AB%E3%82%B5%E3%82%A4%E3%83%B3%E3%82%AA%E3%83%B3- OpenID Connect
- OAuth 2.0
- 認証と認可
http://www.itmedia.co.jp/enterprise/articles/0804/22/news044.html
その他、以前に出てきた用語も、理解が不安なときはその都度前のページを振り返って見てみましょう。
- メディアタイプ →9.4 p.128
http://www.iana.org/assignments/media-types/media-types.xhtml - 文字エンコーディング →9.4 p.129
- 言語タグ →9.5 p.131
https://ja.wikipedia.org/wiki/IETF%E8%A8%80%E8%AA%9E%E3%82%BF%E3%82%B0 - ボディ(レスポンスボディ) →6.6 p.76
- リソース → 3.3 p.27
ブラウザは、デフォルトで自分の処理できるメディアタイプ・言語タグをサーバに伝えています。どのように伝えているか、リクエストヘッダをデベロッパーツールで調べてみましょう。
コンテントネゴシエーション関係以外にも、気になるリクエストヘッダはありますか? 付録B(p.335)などで意味を調べてみましょう。
普段使っているサイトがチャンク転送を使用しているかどうか、デベロッパーツールなどを使って調べてみましょう。
参考:HTTP/1.1 の Transfer-Encoding: chunked をビジュアライズするツール書いてみた
チャンク転送は、ストリーミングのようなずっとデータを送信し続けるWeb APIでも使用されています。(チャンクサイズを使用しないなど、仕様が異なる場合もある)
例:Twitter Streaming API, HTML5 Server-sent events
http://demo.howopensource.com/sse/
$ curl -v http://demo.howopensource.com/sse/stocks.php
Basic認証で、本文に記載されているAuthorizationヘッダの値をデコードして、ユーザー名とパスワードが見られることを確認してみましょう。
デベロッパーツールのConsoleを使いましょう。
window.atob("dXNlcjpwYXNzd29yZA==");
Basic認証のデモページを利用して、入力が実際にBase64エンコードしてヘッダで送信されていることを確認してみましょう。
http://wp-technique.com/basic/ (test:test)
デベロッパーツールのNetworkを使いましょう。
ブラウザのデベロッパーツールを使いましょう。
Windows: F12 か Ctrl+Shift+i
Mac: command+option+i
HTMLソースコードを見たり、リクエスト/レスポンスを見て、HTTPのルールに沿っているかどうか、RESTfulかどうかを調べましょう。
REST復習の参考スライド
ディスカッション