REST
ご無沙汰しております。artonさんの「RESTとCSRF」を読んで僕なりに考えたことを書きます。お題: 所定の遷移に従っていないクライアントには破壊的な操作をさせたくない 破壊許可識別子をリクエストボディに含めたくない artonさんの解は下記の通り「破壊許…
前回の日記の続きです。『Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)』の第3部と第4部を読みました。以下、特に勉強になった点などのメモです。 第3部 HTTP リソースの作成はPUTよりPOSTが望ましい。PUTはサーバとの結合が密になる…
昨日の日記の続きです。『Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)』の第1部と第2部を読みました。 第1部 Web概論 「第2章 Webの歴史」が知らないことばかりで面白かった。個人的に興味深かったのは、SOAP対RESTの論争に火を付け…
Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)作者: 山本陽平出版社/メーカー: 技術評論社発売日: 2010/04/08メディア: 単行本(ソフトカバー)購入: 143人 クリック: 4,320回この商品を含むブログ (183件) を見る我慢できない子なので…
いわゆる「文字エンコーディング問題」は、セキュリティ専門家の間でも意見が分かれているようなので、そちらにおまかせします。今回は、RESTについて久々に考えてみます。日本Ruby会議2008で、山本陽平さんが「REST信者から見たRuby on Rails 2.0」と題した…
Webアプリケーションを作成する際には,POSTのリクエストをリダイレクトして,そのまま別のURLにPOSTさせるということはできないと思っておいたほうが良さそうですね. POSTリクエストをリダイレクトするとGETされる?POSTされる? - はこべにっき ♨ HTTP/1.1…
前回の記事「RESTクライアントが知っているべきこと」に、id:nsiena さんからトラックバックをいただきました。 RESTful API の後方互換性 - Siena.の日記 斜め上の応答になってしまうかもしれませんが、思ったことを書いてみます。 API変更の性格分類とサー…
クライアントとサーバの密結合を避けられるのが、RESTスタイルに従って得られるメリットのひとつです。クライアントが、アプリケーションの挙動に関する知識をほとんど持たなくてよいわけです。とはいっても、まったく何も知らないではクライアントたりえま…
「WADLは必要か・その1」「WADLは必要か・その2」の続きです。 WADL文書を公開するのはクライアントにフォームを作らせたいから 前回は、私の思いついたWADL文書の使い方を例示しました。クライアントによるフォームの動的生成を期待して、リソースへのリク…
「WADLは必要か・その1」の続きです。 フォームをクライアントに作らせたい 一般的なWebアプリケーションでは、サーバがフォームを作ります。form要素の含まれたHTMLをクライアントに返すわけです。しかし、「サーバサイドでSmalltalkのMVCパターンを使うの…
識者の間でも結論は出ていない RESTfulなWebサービスのための仕様記述言語・WADL(Web Application Description Language)の必要性については、識者の間でも意見が分かれています。Leonard Richardson(『RESTful Webサービス』の著者の一人)は必要派(「I…
「コマンド的な処理をどうやってRESTfulに実装するか」に書いた内容を敷衍します。 SunのクラウドサービスAPI 先日、Sun MicrosystemsがSun Cloudというクラウドサービスを提供すると発表しました。 米Sun、Amazon対抗のクラウドサービス「Sun Cloud」を発表…
ongoing by Tim Bray · RESTful Casuistry この記事でTim Brayが例に挙げているサーバリブート処理をRESTfulに実装するとすれば: POSTでリブート要求トランザクションリソースを作る PUTでサーバステートをdownに更新、その後upに更新する の2通りが思いつ…
先日の記事「フォーム認証は本当に捨てられないのか」の続きです。 「WebサービスとWebアプリケーションを区別しないとうまくいく」という指針 RESTに関する下記の鼎談動画において「WebサービスとWebアプリケーションを区別しないとうまくいく」という指針…
http://kunit.jp/restful/wiki/index.php?%C2%E86%B2%F3%CA%D9%B6%AF%B2%F1 経緯を知らない方にはなんのこっちゃなタイトルになってしまいましたが、もともと『RESTful Webサービス』という本の読書会だったのが、おいしい部分は読み終えたため、Webアプリケ…
先日「非同期にしたいけれど」という記事を書いてからずっと、非同期処理メインのWebアプリについて考えています。実装したわけではないため、まだ机上の空論にすぎませんが、方向性が見えてきたので備忘録として残しておきます。 前提条件 Create/Update/De…
http://kunit.jp/restful/wiki/index.php?%C2%E85%B2%F3%C6%C9%BD%F1%B2%F1 読みどころは全部読んだとの判断により、本を読むのはやめて、AtomPubについてあれこれ話すパートからスタート。はてなダイアリーAtomPubを肴に、「X-HATENA-PUBLISH ってどうよ?…
id:yoheiさんのブクマ経由で知りました。 ongoing by Tim Bray · Testing REST 「RESTfulなWebアプリ、BDDで作りたいじゃんね。テスティングフレームワークぐらいあると思ったら、あれ?」という話。私がPintoBeansでやろうとしていること(全然できてないけ…
http://kunit.jp/restful/wiki/index.php?%C2%E84%B2%F3%C6%C9%BD%F1%B2%F1 OpenSocialの概要と、URI Template(Templatesだと思ってた)の仕様の変遷を知ることができ、勉強になりました。関係者の皆様、ありがとうございました!「あれ?」と思ったあなた…
あらすじ Pintoというソーシャルブックマークサービスを作ろうとしています。ソーシャルというぐらいなので、ユーザ登録処理の実装が必要です。『RESTful Webサービス』で提唱されているROAの流儀に従い、ユーザ登録処理に必要なリソースとそのURIを決めてい…
第1回から参加していますが、今回が一番濃かったかも(特に懇親会が)。 http://kunit.jp/restful/wiki/index.php?%C2%E83%B2%F3%C6%C9%BD%F1%B2%F1 感想というか、色々思うところがあったのでメモ。 ブックマークリソースのURI問題 「7.3.3 ブックマークコ…
『RESTful Webサービス』の第3回読書会に参加するため、6〜8章を読み返しています。構想中のWebアプリの認証周りについて考えていたところで、読むのにちょうど良いタイミングでした。まだ全部を読みきってはいませんが、「6.1.1 ユーザーアカウントはなぜリ…
『安全なウェブサイトの作り方 改訂第3版』(PDF)によれば、CSRF脆弱性の根本的解決策は下記の3つしかありません。 処理を実行するページを POST メソッドでアクセスするようにし、その「hidden パラメータ」に秘密情報が挿入されるよう、前のページを自動…
昨日の日記の最後にこう書きました。 正規URIに対してリクエストがあった場合、サーバは英語とスペイン語、どちらでレスポンスを表現するか決めなければなりません。Accept-Language ヘッダを見てもよいのでしょうが、それだとコンテントネゴシエーション方…
『RESTful Webサービス』の「4.6.1 表現の選択」に「プレスリリースが英語とスペイン語の両方で提供されている場合」への言及があります。著者が推奨するのは、各言語用に個別のURIを割り当てる方法です。 http://www.example.com/releases/104.en http://ww…
『RESTful Webサービス』の初版第2刷88ページに「303(See Also)」と書かれていますが、これは「303(See Other)」の誤記ですね。先日の読書会で使った資料にもそう書いてしまっていたので修正しました。なお、私の発表音声がまとめページよりダウンロードでき…
http://kunit.jp/restful/wiki/index.php?%C2%E82%B2%F3%C6%C9%BD%F1%B2%F1 調子にのって4章の発表を担当したわけですが、資料のレイアウトが崩れたり、生来のあがり症のためにしどろもどろになったり、お見苦しいお聞き苦しい点が多々あったと思います。あ…
ROAに準拠したWebアプリを作りたいのに、準拠できない or 準拠しづらいシチュエーションってありますよね? 私はあります。それを列挙してみようという試みです。なお、「ROAに準拠している=ROAの4つの特性を満たしている」という等式を前提とします。これ…
昨日のメールに続き、Roy T. Fieldingの投稿があった。In any case, there are plenty of RESTful services that do nothing but GET and POST. The key is how those methods are used, not what methods are used. To give a specific example, what makes…
RESTのメーリングリストより。 rest-discuss : Message: REST is not just file storage 「みんなCRUDにこだわりすぎ」というRoyのいらだちが感じられる。先日のRESTful本読書会で、私は: 30個の項目があって、そのうちの2個を消したくなったら、REST厨的に…