なぜ html の form は PUT / DELETE をサポートしないのか?

なんで html の from は PUT / DELETE ができないのか、「セキュリティ的理由」とか「歴史的経緯」とか、わかったような分からないような説明はよく聞くけど、実際なんでなのか調べてたら色々教えてもらった話。 ここまでわかったことを blog にまとめました。 / “なぜ html の form は PUT / DELETE をサポートしないのか? - Block Rockin’ Codes” http://jxck.hatenablog.com/entry/why-form-dosent-support-put-delete
46
前へ 1 ・・ 5 6 次へ
Masataka Yakura @myakura

XFormsもちょいと調べたら、1.0にはPUTはあったけどDELETEはなかったらしい。ユースケースがなかったとのこと。 http://t.co/hC05X2FO9H

2014-03-26 03:06:26
Masataka Yakura @myakura

昔のフォームにはPUTがあんま実用的じゃなかったけどXFormsならそうでもなくない的なことをmnotさんが言っていた。 http://t.co/rHU4RLhVAc

2014-03-26 03:09:35
Masataka Yakura @myakura

www-html, www-html-editorだと特に収穫なし。Memberのリストで検索したらなんか出てくるだろうか。公開できないけど。

2014-03-26 03:14:10
Masataka Yakura @myakura

あとはTAGとIETF/HTTPがらみのリスト探すしかないのかなあ。不毛感。

2014-03-26 03:15:46
Masataka Yakura @myakura

#lazyweb pointers for why older HTML (excluding HTML5) didn't have PUT/DELETE on forms.

2014-03-26 03:28:16
Jxck @Jxck_

@myakura 今、対応がないから submit をフックして Ajax で PUT/DELETE しているのに、それでもユースケースが無いというのは、当時はまだ見つかっていなかったという理解でいいんでしょうか?

2014-03-26 14:09:55
Masataka Yakura @myakura

@Jxck_ どうなんでしょうねえ…そのころの状況がさっぱりなんですが…… SOAPだとプロトコル非依存だからそもそも要らんやんとかあったんでしょうかねえ。

2014-03-26 17:17:32
Jxck @Jxck_

@myakura SOAP だとそうなんですけどねぇ。まあ、なんとなく HTML 3.2 時代からの Form というもの自体の仕様が曖昧だったというのが、根本にあるんですかね? HTTP/1.1 PUT, DELETE の仕様はきちんとしているので。

2014-03-26 17:19:28
Masataka Yakura @myakura

@Jxck_ と思ったらなんか1.0の頃はDELETEしたアクションに対する応答コードがなくてそれがブロックしていたっていう話を見つけました。 http://t.co/I9EV98U4Dd http://t.co/MKu3cOpwtG

2014-03-26 17:19:56
Jxck @Jxck_

@myakura ん?これは XForm 1.0 の話ですよね?

2014-03-26 17:25:12
Masataka Yakura @myakura

@Jxck_ あ、そうです。古いHTMLはこれから…というかあるのかな……

2014-03-26 17:28:10
Jxck @Jxck_

@myakura なんか XForm (というか XHTML ?) が出てきたあたりから色々話が飛び散ってややこしくなった感じはありますね。。

2014-03-26 17:33:28
Masataka Yakura @myakura

@Jxck_ たしかに元の疑問から順調に外れてますね…失礼しました。

2014-03-27 01:06:27
Masataka Yakura @myakura

さてHTML 4とそれより前についてちょっと調べよう…今日は早く寝るよ。

2014-03-27 01:14:31
Masataka Yakura @myakura

さっそく、HTML 4.0の草案ではmethod=getがdeprecatedというキレッキレな仕様だったことを知る。エンコーディング絡みなのかな。 http://t.co/WgneKZoNDB

2014-03-27 01:15:36
Masataka Yakura @myakura

ユースケースどうこうというよりは、文書からサーバにデータを送信するだけ、加えるだけというものに限定したかった意図とかがあったのかなあ。

2014-03-27 01:17:33
howtohp @howtohp

@myakura ちょっと見てみたらXFroms 1.1にはあるみたいなので、XHTML2には入る予定だったみたいですね。 http://t.co/6YClgCHZlO

2014-03-27 01:22:26
Jxck @Jxck_

@myakura あーいや、そうではなく、 XForm の登場がこの問題の経緯をややこしくしたなぁと。関係はあると思うので。

2014-03-27 01:26:17
Jxck @Jxck_

@myakura そうなんですよね。俺は今は JS でやってることを前提に考えてしまいがちですが、 Form の仕様は HTML で完結させること考えると、そういう限定的制限が妥当な気もしてきます。

2014-03-27 01:32:02
Jxck @Jxck_

XForms にはあって XHTML 時代になれば PUT/DELETE できた。 HTML5 は hixie が "doesn't make sense". 問題は HTTP/1.1 を参照している HTML4.0 になかったことだ。1997年の10ヶ月に何があったのか。

2014-03-27 06:59:41
Jxck @Jxck_

あと、このページの見方が今ひとつわからん。https://t.co/4w7Qgp5o8q

2014-03-27 07:00:19
Jxck @Jxck_

PUT リクエストに対して、サーバが実際に File Write する場合のセキュリティ的なリスクは確かにある。でもそれが PUT を Form に入れなかった理由なのか。その辺が味噌になりそう。あと DELETE はどうなのか。というか POST は別問題なの?

2014-03-27 07:05:57
Jxck @Jxck_

まあ、「今欲しいのは PUT より PATCH」って人は多いかもしれないけど、それはおいておこう。

2014-03-27 07:06:52
YAMAMOTO Yohei @yohei

@Jxck_ HTML 4.01もHTTPも、当時の独自実装の大混乱期をいろいろ整理して綺麗にまとめるのが主な目的だったので、その10ヶ月だけを見ても木を見て森を見ずかと

2014-03-27 08:35:50
前へ 1 ・・ 5 6 次へ