« Windows Vista と BlogWrite | メイン | TypePadでは、存在しないファイルもHTTP Status 200を返す!? »
2006年06月16日
REST原理主義
ってのがあると思うのです。つぶやきモードです...。
RESTってのは既存のWebアーキテクチャを有効利用するというもので、SOAPやWS-*と比べてすごくシンプルな解決策で素晴らしいと思うのだけど、例えばAtomPPでも最近顕著に見られるような気がしてならないのは、既存のWebアーキテクチャ絶対主義というかなんというか...それ以外の解決策は認めない、という雰囲気。
しかし、既存のWebアーキテクチャが完全かというとそうでもなく、問題はいろいろ存在しているのではないかと思うわけです。例えば...
HTTPステータスコードは信頼できない。
ファイルが見つからないときには404ではなく「見つかりません」ページが200で返ってくるとか、500インターナルサーバーエラーだけじゃユーザには何が起きたか分からない、というか独自のエラー文を返したい時はどうするのかなど、もろもろ。
MIMEタイプは意図した通りに動かず、誤用され無視される。
IEなどはファイルの中身を解析して判断してるし。charsetの指定も嘘が多い(apacheのデフォルトcharsetのままとか)。さらに言えば、セキュリティホールを突く攻撃にも利用される。
ここら辺、色々苦労があってノウハウが溜まってなんとかやってきた所があるわけで、決して銀の弾丸だとは言えないはずです。
にも関らず、例えば、プロトコルの通信時にエラーが起きたら、「HTTPステータスコードを返すだけで良いのだ」というのは原理主義的だと思う。ボディに含まれるのは、バイナリのJpeg画像かもしれないし、XMLかもしれないし、HTMLかもしれない。それがHTTPでありWebだ、と言われればそうだけれど、それでは何の解決にもならないと思います。
なんか、現状ある問題点の解決をするのではなく、単にWebアーキテクチャを再定義して原点に無理やり引き戻したいだけなんじゃないかと。
上記のケースであれば、上手くハンドリングして表示できるクライアントは、Webブラウザのみという事になってしまいます。で、現状WebブラウザはPUT、DELETEしないからまともなRESTクライアントアプリは存在しない、という事になってしまう...。
Webアーキテクチャにこだわるのは良いけれど、自分で自分の首を絞めるようなことにならなければ、と願って止みません。
投稿者 BlogWrite担当 : 2006年06月16日 19:45
トラックバック
このエントリーのトラックバックURL:
http://www.witha.jp/b/mt-tb-hate-spam.cgi/383

