Version 18 of Hypertext Transfer Protocol

Updated 2016-10-06 19:57:46 by pooryorick

Hypertext Transfer Protocol , or HTTP, is the protocol used within the World Wide Web for transferring documents. The current version is 1.1.

Servers

Web Publishing
contains a list of HTTP servers

Tcl Clients

http
A client-side implementation of HTTP bundled with Tcl.
nstcl-http
Another client-side implementation of HTTP.
rl_http
A REST-capable, never-blocking HTTP client package that supports HTTPS, deflate, chunked encoding for Tcl, NaviServer, or AOLserver.
ycl comm http
An HTTP client that uses coroutines and reflected channels.

(The Docker client implementation includes an implementation of the minimal subset of HTTP necessary for the very purpose of talking to the Docker daemon. It has the particularity (over http) to support chunked encoding, and I wish I had known about rl_http before! Note that the implementation is also able to perform HTTP protocol operation on top of any file descriptor, since it uses pipes to netcat or nc to talk to local Docker daemons (UNIX domain sockets). EF)

Tools

autoproxy
a tcllib module that attempts to automate the use of HTTP proxy servers in Tcl HTTP client code.
vfs::http
a virtual filesystem for HTTP transactions

See Also

http in Jacl
Tunnel HTTP through SMTP
Tunnel IRC through HTTP proxies
allow HTTP/1.1 CONNECTs to the outside.

Line Translation

PYK 2016-04-13: When forming an HTTP request in Tcl, make sure lines end in CRLF. Otherwise, the reponse may be 400 Bad Request. The MIME module in Tcllib produces messages with CRLF as the line delimiter, in which case the channel should be configured as -translation binary.