Creating HTTP-based applications
Client-server applications may use various ways to communicate. Some of them are:
One way is to keep a permanent connection between the server and all clients. This approach requires creating protocol for sending messages both from the server to client and the other way around. While this approach is used by many applications, it is quite difficult to scale and can cause issues for long-running applications—such as detection of connections broken on one side, without proper end-of-file events received by other side.
Another possibility is to use HTTP instead of a real time connection. HTTP based applications typically use a polling mechanism—that is they periodically query the server to determine if there is anything the client should perform. Using HTTP and timers simplifies implementation a lot, and fits very nicely into Tcl's event-driven programming.
Using HTTP means that our application can also use any HTTP proxy needed by location the client is in,...