Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
RESTful#とは勉強会9 ポイント

RESTful#とは勉強会9 2015.08.19

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

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

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

重要な用語・概念

p.142コラム(重要だけど少し複雑)

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

グループで考えてみよう

コンテントネゴシエーション (9.6 p.132)

ブラウザは、デフォルトで自分の処理できるメディアタイプ・言語タグをサーバに伝えています。どのように伝えているか、リクエストヘッダをデベロッパーツールで調べてみましょう。

コンテントネゴシエーション関係以外にも、気になるリクエストヘッダはありますか? 付録B(p.335)などで意味を調べてみましょう。

チャンク転送 (9.7 p.134)

普段使っているサイトがチャンク転送を使用しているかどうか、デベロッパーツールなどを使って調べてみましょう。

参考: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認証 (9.8 p.137)

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

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

window.atob("dXNlcjpwYXNzd29yZA==");

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

http://wp-technique.com/basic/ (test:test)

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

調べ方のヒント

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

HTMLソースコードを見たり、リクエスト/レスポンスを見て、HTTPのルールに沿っているかどうか、RESTfulかどうかを調べましょう。

REST復習の参考スライド

諸橋さんによるリソース設計に関するお話

ディスカッション

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