This is a simple demo of the HTTP server facilities, providing a simple body and the three documented server instantiations. ---+ The server main programs are: $ demo_threads.pl : Run threaded server. Requires SWI-Prolog with thread-support. The server is started at port 3000 using server/0. server/2 allows to specify options. tm/0 provides a graphical display of the runing threads. See source-file. $ demo_xpce.pl : Run XPCE-based event-driven server. Requires XPCE. Use ?- server(3000). to start the server at port 3000. $ demo_inetd : To install this, adjust the first line of this file to point to the installed Prolog executable and add the following line to /etc/inetd.conf (adjust as needed): 4001 stream tcp nowait nobody /usr/sbin/tcpd /usr/lib/pl-5.1.4/library/http/demo/demo_inetd ---+ Session management demo: $ calc.pl : Multi-threaded server with session management using the html_write.pl library. See source for usage. ---+ File serving demo: $ demo_files.pl : Is a multi-threaded server that serves static files and directory indices. ---+ Client demo $ demo_client.pl : Simple multi-threaded client to test the server under different conditions. Requires SWI-Prolog with thread-support. See source for usage. ---+ Performance testing A very early start of some routines to validate the server platform. Eventually, stress_server.pl will serve different tests from multiple locations and stress_client.pl will contain client code to run individual tests as well as doing multi-threaded tests. $ stress_server.pl : Server platform. $ stress_client.pl : Client.