Updated 2015-03-15 14:46:41 by pooryorick

HTTP/1.1 is the current version of the Hypertext Transfer Protocol.

Documentation  edit

RFC 2616
authoritative reference
activity diagram, by Alan Dean

See Also  edit

a client-side implementation of HTTP/1.1
HTTP/1.1 support and Chameleon, native look for Tk widgets
Tunnel IRC through HTTP proxies
allow HTTP/1.1 CONNECTs to the outside.

Description  edit

Interesting 1.1 aspects include persistent connections, required mode, PUT, keep-alive (?), certificates (?), ...

Others thinking about 1.1 include Mats Bengtsson, Eric Boudaillier, ...

Historical  edit

Pat Thoyts 2002-10 writes: I got interested in enhancing the stock Tcl http package for HTTP/1.1. That is the Tcl http client. My mods are in the tclSOAP CVS at sourceforge (because I can easily dump stuff there) but since then Phil Dietz has done more work on this.
Need HTTP 1.1 support in Tcl, comp.lang.tcl, 2002-01-27
various people discuss 1.1, among other things; Pat summarizes the remarks in http://tclsoap.sourceforge.net/http.html.

It seems as if TclSOAP has a proposed version of the http package which supports persistent connection (see above). What else is needed for HTTP 1.1 (and things like the webdav extensions to HTTP 1.1)? Is there a simple overview document which describes in a simple way what the differences really are?

Phil Dietz and Eric Boudaillier have opened a SourceForge project for this with the project name of tclhttp1-1 [1]

PT: Any useful code from the other http1.1 enhanced packages should get merged into this one

tclvfs comes with some minor mods to tclsoap's http package to support webdav -- would be good to merge that stuff.

PT writes: I already did this for the tclSOAP version and I've applied this to the tclhttp1-1 version but I need to commit this (as of 2003-01-27). The tclvfs changes simply add a '-method' option to enable HTTP requests other than GET, HEAD and POST. For instance
set tok [http::geturl http://www.google.com/ -method OPTIONS]

will get the options header from the server. For WebDAV there are a number of other commands to use.