人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

http://yusukebe.com/archives/08/03/31/132218.html
ここの記事中で
俗に言う「REST/XML over HTTP」という箇所が
俗に言う「POX over HTTP」という風に訂正されていますが、
自分が知らないだけかもしれませんが「POX over HTTP」というのを俗に言わない気がしますし
あまり聞いたことがありません。
ググってみても"REST over HTTP"の方がふつうにヒットします。
訂正の理由はTwitterでつっこまれたからだそうですが、
"REST/XML over HTTP"のような表現だとどうして問題となるのでしょうか。
ニュアンスが正確じゃない、という感じの理由なのでしょうが、
そのあたりがよくわかりません

●質問者: dedara
●カテゴリ:インターネット ウェブ制作
✍キーワード:HTTP REST XML ふつう ニュアンス
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● a-kuma3
●35ポイント ベストアンサー

「俗に言う」というのが曲者のような気がするのだが、とりあえずそこは気にしない。


http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_sty...

REST と言われるためには、いくつか条件があって、そのうちに重要だと思われるのは「リソースに対して、それを指し示す識別子が存在する」ということだと思います。

例えば、Webサービスのうち、POST メソッドでのみ検索結果を返すようなサービスは、厳密には REST とは言えない、と。

で、件のページでは、

俺の解釈でいいますと、パラメータを指定して GET (POSTの場合もある)により情報の入ったコンテンツをXML形式で取得する

と、「俺の解釈」と逃げを打ってますが、

ので REST と言うには十分条件ではない、ということですね。


論文では Web 自体が REST と重ね合わせて論じてるところもありますから、その一部のサービスを切り出して REST だ、というのは、そもそも視点が違います。


また POX については、POX over HTTP というような表現が使われないのは、POX が XML の表現について語っている言葉だからです。

REST は、アーキテクチャを指し示す言葉ですから、その実装については種々あるわけで、REST を、プロトコルに HTTP を使って、データ表現を XML で実装している場合に REST / XML over HTTP のような表現をします。

POX は、SOAP のように XML 表現の中で、片付けや構造を厳しく規約化したものに対して、「昔のようにデータの構造にたいして、構造と種類をタグで表現し、データを #text で表現するので、十分じゃないの」というような揶揄を含んだ言葉ですから、プロトコルなんかには関係なくて over HTTP というような修飾は付きません。


Twitter でのやりとりを見てないので、ニュアンスまでは分かりませんが、最近では REST という単語の誤用も多いし、そもそも論文が意図してたところとは違うよね、というような指摘だったのではないでしょうか?

件の「ゆーすけべー日記」では、俗に言う Ajax で使われるサービスを簡単にアクセスできる Perl モジュールを作ってみました、というのが本題でしょうから、REST という表現にはこだわりはないでしょうし。

◎質問者からの返答

ありがとうございます。

5年前くらいSOAPとの対比の中でRESTという言葉が頻繁に使われていたのを記憶していますが、

そういう文脈で使う場合はRESTと言うよりも本来POXと呼んだ方がいい、という感じの指摘だったわけですね。

ただなんとなくウェブAPIを使ってデータをやり取りする技術について語るとき"REST"って使いたくなりますね


2 ● a-kuma3
●35ポイント

SOAP vs REST でいろいろ言われてたころは、XML の表現についてだけの話ではなかったので、REST で良いんです。

その中で、「SOAP は、何で、変に入り組んだ XML をやり取りせにゃああかんのさ。POX で良いじゃん」というのはありです。


ただなんとなくウェブAPIを使ってデータをやり取りする技術について語るとき"REST"って使いたくなりますね

で、それは誤用だ、って件のページでも指摘されたわけでしょ。

ぴったりくる単語が無いからなんでしょうね、きっと。

"Ajax" という単語で、無理やり通しちゃうときもあるけど「XML じゃなくて、JSON なんだよな」とか、「client は、javascript じゃないしなあ」とか、その辺りをひとまとめで表現する単語が。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ