岩本隆史の日記帳(アーカイブ)

はてなダイアリーのサービス終了をうけて移行したものです。更新はしません。

DELETEを考えるとJavaScript必須?

Webアプリで、なんらかのリソースを削除するための画面があったとして、DELETEのレスポンスが「200 OK」だけだとしたら、ブラウザは真っ白になりますよね。遷移先のURLをLocationヘッダで返すのも変だし、削除結果画面を返すのもおかしい気がする(PUTでも同じか)。

となると、AjaxなんかでDELETEリクエストを投げて「200 OK」が返ってきたら「削除しました」メッセージを表示するような実装がきれいなんだろうか。コレクションリソース画面でメンバーエントリを複数選択して削除、みたいな非RSETでは当たり前の処理も実装できるし。

JavaScriptの動作しないUAを切り捨てるのは忍びないけれど、RESTの誘惑には抗いがたい。トレードオフってやつかな。

追記(2008-03-14)

RFCを読んで考えを改めました。『「200 OK」なら結果を返すべき』をご参照ください。