Why HTML Form dose not support PUT & DELETE ?

10,183 views

Published on

Why HTML Form dosen't support PUT & DELETE ?

Published in: Technology, News & Politics
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
10,183
On SlideShare
0
From Embeds
0
Number of Embeds
2,435
Actions
Shares
0
Downloads
3
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Why HTML Form dose not support PUT & DELETE ?

  1. 1. PUT & DELETE why html form doesn’t support ? 2014/4/12
  2. 2. Jack ● id: Jxck ● github: Jxck ● twitter: jxck_ ● about: http://jxck.io ● blog: http://d.hatena.ne.jp/jxck ● Love: music
  3. 3. spec and status Form
  4. 4. form - method attr <form action="http://example.com/users" method="post"> <label for="name">name: </label> <input type="text" id="name"> <input type="submit" value="send"> </form>
  5. 5. I’m wondering... https://twitter.com/Jxck_/status/447663659511054336
  6. 6. Discussing on TL http://togetter.com/li/646275
  7. 7. History of Web ... HTTP/0.9 1996/ 5 HTTP/1.0 (GET,POST,HEAD) 1997/ 1 HTTP/1.1 (+ PUT,DELETE etc) 1997/12 HTML 4.0 (GET,POST) 1997/12 HTML 4.01 (GET,POST) 2000/ 1 XHTML 1.0 2003/11 XForms 1.0 (GET,POST,PUT) 2008/ 1 HTML 5 (GET,POST) 2009/10 XForms 1.1 (+ DELETE) 2010/11 XHTML 1.1 ...
  8. 8. HTML 4.01 (spec) method = get|post [CI] This attribute specifies which HTTP method will be used to submit the form data set. Possible (case-insensitive) values are "get" (the default) and "post". See the section on form submission for usage information. http://www.w3.org/TR/html401/interact/forms.html#adef-method
  9. 9. HTML 4.0.x ● Usage ○ before Ajax, XHR, REST ○ “JavaScript off” on browser ● Security ○ on Server Side ○ apache case ■ http://www.apacheweek.com/features/put ● Form Spec ○ action attr is static ○ no header handling from form ○ behavior for response ● No UseCases, No Needs
  10. 10. History of Web ... HTTP/0.9 1996/ 5 HTTP/1.0 (GET,POST,HEAD) 1997/ 1 HTTP/1.1 (+ PUT,DELETE etc) 1997/12 HTML 4.0 (GET,POST) 1997/12 HTML 4.01 (GET,POST) 2000/ 1 XHTML 1.0 2003/11 XForms 1.0 (GET,POST,PUT) 2008/ 1 HTML 5 (GET,POST) 2009/10 XForms 1.1 (+ DELETE) 2010/11 XHTML 1.1 ...
  11. 11. XForm 1.1 (spec) 11.9.3 The put Submission Method This submit method represents HTTP PUT or the equivalent concept (such as writing to a local file). The serialized form data is delivered as the message body. 11.9.4 The delete Submission Method This submit method represents HTTP DELETE or the equivalent concept (such as deleting a local file). The serialized form data is delivered in the same manner as the getsubmission method (see 11.9.1 The get Submission Method). http://www.w3.org/TR/2009/REC-xforms-20091020/#submit-put
  12. 12. XForm ● more rich Form by XML ○ lots of new feature ○ no depends on JavaScript ○ XForm 1.1 supports PUT, DELETE ● XHTML2.0 includes XForm ○ finished working ○ to HTML5 ○ no implementation ● XHTML2.0 Finished ;(
  13. 13. History of Web ... HTTP/0.9 1996/ 5 HTTP/1.0 (GET,POST,HEAD) 1997/ 1 HTTP/1.1 (+ PUT,DELETE etc) 1997/12 HTML 4.0 (GET,POST) 1997/12 HTML 4.01 (GET,POST) 2000/ 1 XHTML 1.0 2003/11 XForms 1.0 (GET,POST,PUT) 2008/ 1 HTML 5 (GET,POST) 2009/10 XForms 1.1 (+ DELETE) 2010/11 XHTML 1.1 ...
  14. 14. HTML 5 (spec) http://www.w3.org/TR/html5/forms.html#attr-fs-method The method and formmethod content attributes are enumerated attributes with the following keywords and states: ●The keyword get, mapping to the state GET, indicating the HTTP GET method. ●The keyword post, mapping to the state POST, indicating the HTTP POST method.
  15. 15. HTML5 ● After Ajax, XHR, REST(like rails) ● JavaScript has benefits ● Discussion on @W3C bug 10671 from Julian: consider adding support for PUT and DELETE as form methods from Chair: "it doesn't make much sense with forms either" by Hixie
  16. 16. it’s not period But
  17. 17. Continue in Public-HTML-Comments ● Enhance http request generation from forms ○ https://www.w3.org/html/wg/tracker/issues/195 ○ long discussion ● HTML Form HTTP Extensions ○ http://cameronjones.github.io/form-http- extensions/index.html by Cameron Jones ○ supports full HTTP/1.1 method ○ supports HTTP Authenticate ○ add payload attribute ○ WIP now ○ will WGFD and will be in HTML5.1?
  18. 18. HTML Form HTTP Extensions by Cameron Jones: http://cameronjones.github.io/form-http-extensions/index.html
  19. 19. Example - PUT <form action="http://www.example.com/cms/hogmanay" method="PUT"> <input name="If-Unmodified-Since" type="hidden" value="Tue, 1 Jan 2013 12:00:00 GMT" payload="_header"/> <textarea name="content"> // content </textarea> <button type="submit">Update</button> </form>
  20. 20. Example - Basic Auth Login <form action="http://www.example.com/login" method="POST"> <label for="_username_">Username</label> <input name="_username_" type="text"/> <label for="_password_">Password</label> <input name="_password_" type="password"/> <button type="submit">Login</button> </form>
  21. 21. Example - Mail <form action="mailto:"> <label for="to">To</label> <input name="to" type="email" payload="_action"/> <label for="cc">Cc</label> <input name="cc" type="email" payload="_header"/> <label for="subject">Subject</label> <input name="subject" type="text" payload="_header"/> <label>Content</label> <textarea size="50"/> <button type="submit">Send</button> </form>
  22. 22. Conclusion
  23. 23. Conclusion ● History ○ HTML4.x: No UseCase, No Needs ○ XForm: XHTML2.0 Finished ○ HTML5: Make No Sence ● Draft ○ Discussing Now ○ Extend Form SPEC by Cameron ○ http://cameronjones.github.io/form-http- extensions/index.html ○ Will include in HTML5.1 ?
  24. 24. More Detail http://jxck.hatenablog.com/entry/why-form-dosent-support-put-delete
  25. 25. thanks :) END

×