CL-HTTP

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
CL-HTTP
Original author(s) John C. Mallery
Initial release 1994; 30 years ago (1994)
Written in Common Lisp
Operating system Cross-platform
Type Web Server
License Proprietary
Website cl-http.org:8000

CL-HTTP is a web server, client and proxy written in Common Lisp. It is based on its own web application framework. It was written by John C. Mallery "in about 10 days"[1] starting in 1994 on a Symbolics Lisp Machine. In the same year a port to Macintosh Common Lisp was done. In 1996 CL-HTTP became the first web server to support the HTTP 1.1 protocol.[2] It runs on Unix, Linux, BSD variants, Mac OS X, Solaris, Symbolics Genera and Microsoft Windows.

CL-HTTP makes extensive use of the Common Lisp Object System and the macro capabilities of Lisp.[3]

Usage

CL-HTTP has been used in several applications. ELM-ART is a tutoring system written in Common Lisp using CL-HTTP.[4] It was later commercialized as NetCoach.[5] InterBook is an early adaptive electronic text book, also written on top of CL-HTTP.[6] Cl-HTTP has been used very early as a tool to create web interfaces for applications.[7][8][9][10]

In 1994, CL-HTTP was used by the W3C and other members of the IETF HTTP working group to develop reference clients and servers for HTTP 1.1.[11]

Most prominently, CL-HTTP was used during the presidency of Bill Clinton as the web server for the White House Publications web site. It distributed the daily press releases and official publications of the Clinton Administration.[12]

CL-HTTP has been used as an example of a non-trivial Lisp application.[13]

Features

  • Object-oriented architecture using the Common Lisp Object System
  • SSL support
  • Server
    • Handling of static files
    • Computed content, Computed forms
    • HTML generation with Lisp macros
    • Virtual servers
    • Web page access authentication
    • Custom logging
    • Server-side includes
  • Caching Proxy
  • Client

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.

External links