'''[http://tools.ietf.org/html/rfc2616%|%Hypertext Transfer Protocol]''', or '''HTTP''', is the protocol used within the [WWW%|%World Wide Web] for transferring documents. The current version is [HTTP 1.1%|%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 [REpresentational State Transfer, REST%|%REST]-capable, never-blocking HTTP client package that supports HTTPS, deflate, chunked encoding for Tcl, [NaviServer], or [AOLserver]. (The [https://github.com/efrecon/docker-client%|%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 [VFS%|%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 [Tcllib MIME%|%MIME] module in [Tcllib] produces messages with CRLF as the line delimiter, in which case the channel should be configured as `-translation binary`. <> Internet | protocol