HTML subsets HTTP, breaks web architecture, movie at 11
You can't use PUT or DELETE in a HTML form.
Until recently I thought this was because no-one had bothered to build those calls it into a browser engine. But no:
The method attribute of the FORM element specifies the HTTP method used to send the form to the processing agent. This attribute may take two values:[17.13 Form submission]
* get: With the HTTP "get" method, the form data set is appended to the URI specified by the action attribute (with a question-mark ("?") as separator) and this new URI is sent to the processing agent.
* post: With the HTTP "post" method, the form data set is included in the body of the form and sent to the processing agent.
What on earth were they thinking?
I used to wonder why web services were so enamoured with POST. Now I know. If web services is anything down in the trenches , then it's the descendent of CGI and form upload. Of course you'd think POST was all there was if all you were ever allowed to do was POST.
So, HTML subsets HTTP. If any other technology did that, there'd be uproar. Yet I don't think the W3C Technical Architecture Group have even discussed this. Why does it break web architecture? Well, instead of using PUT/POST/DELETE in a form against a single resource/URI, I either have to use multiple URIS to operate on a single resource, or I have to tunnel the PUT/DELETE actions though the entity. And all those log out links that act via GET. Truly, deeply, absymal.