スキップしてメイン コンテンツに移動

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus) 山本陽平 技術評論社

山本陽平さんのブログでRESTについて解説されたブログがある。
http://yohei-y.blogspot.jp/2005/04/rest_23.html

ブログだけで十分ためになる。
本はブログ読んでもっともっととなったら、購入すべし。

(以下簡略抜粋)
●RESTとは①(P.19-20)
 Representational State Transferの略。
 RoyFieldingの博士論文で題付けられている。
 WEBはHTTPによっていろいろな情報を転送しているが、それが何かと言うと、
 リソースの状態(Resouse State(表現:Representaion))であるという主張。

●RESTとは②(P.37)
 アーキテクチャースタイルの一つ。
  REST =
   クライアント/サーバ
    クライアントがサーバにリクエストを送り、
    サーバがクライアントにレスポンスを返す形態。
   +ステートレスサーバ
    クライアントのアプリケーションの状態をサーバで管理しない形態。
   +キャッシュ
    一度取得したリソースをクライアント側で使いまわす形態。
   +統一インターフェース
    URIで指し示したリソースに対する操作を、
    統一した限定的なインタフェースで行う形態。
   +階層化システム
    ロードバランサなどによる負荷分散層を入れても、
    クライアントは意識することなく使用できる。
    このようにいくつかの階層に分けた形態。
   +コードオンデマンド
    プログラムコードをサーバからダウンロードし、
    クライアント側で実行する形態。
  の6つのアーキテクチャスタイルが組み合わさった形態。

●URI(P.52)
 URI:リソースを識別するもの
 URL:リソースの場所を示すもの
 URN:リソースの名前を示すもの

 リソースを識別できればよいので、URIはURL、URNの総称となる。
 ただURNの普及率の低さから、総じてURLがURIとして使用されているのが現状。

●HTTPリクエストとCRUD(P.89-96)
 Create  POST/PUT
 Read   GET
 Update  PUT
 Delete  DELETE

 POSTはCreateするときにURIの指定できないため、
 URIの決定権はサーバ側にある。
 PUTの場合はURIを指定するため、
 決定権はクライアント側にある。

 クライアント側がURIを指定する場合はPUTを使用するが、
 クライアント側でURIの命名基準を知っている必要がある。
 その分だけ密な結合となる。

コメント

このブログの人気の投稿

間違ったフォーマットのプログラムじゃないんだけど

以下エラーに対し、 ファイルまたはアセンブリ 'SSPI'、またはその依存関係の 1 つが読み込めませんでした。間違ったフォーマットのプログラムを読み込もうとしました。 以下環境で対応した話です。 VisualStudio2012(C# ASP.NET MVC4.0) IIS7.5 とあるところのdllを使用中 ASP.NETをIISに発行しようとしたら、上記エラーが発生。 他のプロジェクトでは問題なく発行できているのに、 何かと思ってみたら、google先生に尋ねてみると、 DLLファイルの対象プラットフォーム(32bit/64bit)が異なる とのことでした。 このサイトでは対処方法として、 運用環境のプラットフォームに合わせ、適切なランタイムファイルを配布してください。 と記載されていますが、今回の私のようにとあるところのdllを使用している場合などは、 そうもいかない場合もあるでしょう。 そこでdllを変更できない場合には、 IISのアプリケーションプールの設定で、 32bitアプリケーションを有効化してあげることで対応できます。 以下手順です。 コントロールパネル → 管理ツール → インターネット インフォメーション サービス (IIS) マネージャー を起動します。 変更したいアプリケーションを右クリックして、詳細設定を選択します。 32ビットアプリケーションの有効化をTrueに変更します。 もう一度発行します。 ここまでです。 簡単だけど知らないとなかなかはまるかなって気がしますね。 独特のくせなのかもしれません。 そして、次なるエラー発生中です・・・。

SQLServer2008でのトランザクションログの切り捨て方

SQL Server 2008でとあるDBのトランザクションログが一杯に。 BACKUP LOG DatabaseName WITH TRUNCATE_ONLY を使ってトランケートしようとしたら、 'TRUNCATE_ONLY' はBACKUP オプションとして認識されません。 との冷たい返事。2008で廃止されていたのを忘れていた。 SQL Server 2008 で廃止されたデータベース エンジンの機能@MSDN そこでヌルデバイスを使用してバックアップを取得する方法で、切り捨てを試みる。 BACKUP LOG DatabaseName TO DISK = ‘nul’ GO するとまた冷たい返事。 現在、データベースのバックアップが存在しないので、BACKUP LOG を実行できません。 2008では過去にフルバックアップを取得しておかないと、ランザクションのバックアップが取得できないことを忘れてた。てなわけで、まずはデータベースのフルバックアップを取得して、 BACKUP DATABASE DatabaseName TO DISK = ‘nul’ GO もう一度トランザクションのバックアップをして、やっと切り捨てれた。最初から単純にしておけばよかった・・・。

HP Pavilion Desktop PC h8-1080jp のSSDの交換方法

Windows起動時にDiskの読み取りエラーが発生し、 マシンが上がってこなくなってきたのでSSDを交換した。 HP製のマシンを使っているのだが、微妙にどう外すか戸惑った。 外し方が書いてあるのだが、とにかく見えにくい!! と言う訳で誰かの参考になればと思って、 以下にログを残しておきます。 側面を外します。 前面も外します。 真ん中の金具がねじが止まっているので外します。 ここまでは楽勝でした。 HDDが入ってるやつがなかなか外れない・・・と思っていたら、 よーく見ると赤枠のところに外し方が書いてあります。 奥にあるボタンを押す HDDが入っている箱(?)を上に持ち上げるようにすると外れます 外れるとこんな感じに。 後はケーブルを差し替えればOKです。 会社のノートPCも壊れるし、そういう時期なんだろうか・・・。 開けたら東芝の1.8インチHDDで、なかなかデータが吸い出せないし・・・。 やれやれです。