'''[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