This page, forms and server code may change anytime without interruption; a live SWANK connection can be maintained from Emacs and SLIME to the server, and the system is developed interactively as spare time permits. A particularity of Common Lisp is that it can be used as a scripting language interactively, with wanted modified code blocks reapplied in the live image. These code blocks may be reapplied as compiled bytecode for interpretation (or in this case, using ECL, be recompiled efficiently to C, linked as a dynamic loadable module and reloaded immediately, which typing C-c C-c
on a code block in Emacs automates).
Incremental, iterative development is possible, with the possibility of later profiling and optimizing by adding type annotations, etc. Because Common Lisp also allows to decide what is executed at compile or run time, templates can be compiled rather than only interpreted. A feature of this particular HTTPd is that it can also be provided as an unix-OS friendly standalone application that even embeds inside the dynamic code and media files needed for a particular web application it is configured and distributed to run (access to external files can be completely disabled).
Crow-HTTPd also comes with store.lisp, a persistent objects store database with recovery log support. This is implemented around CLOS and MOP (the powerful Common-Lisp Object System and the Meta-Objects Protocol), to make the interface as transparent and integrated as possible. Another embedded utility is a text-mode "captcha" that may help to reduce the success of massive automatic operations like form spamming.
POST size limit is 20971520 bytes for vhost
216.73.216.8:1734
GET /test HTTP/1.1 Accept: */* User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) Accept-Encoding: gzip, br, zstd, deflate Host: mmondor.pulsar-zone.net Via: 1.1 squid-proxy-5b5d847c96-68qpg (squid/6.10) X-Forwarded-For: 10.3.191.162 Cache-Control: max-age=259200 Connection: keep-alive
GET on "/test" on "mmondor.pulsar-zone.net"
connection = "keep-alive" cache-control = "max-age=259200" x-forwarded-for = "10.3.191.162" via = "1.1 squid-proxy-5b5d847c96-68qpg (squid/6.10)" host = "mmondor.pulsar-zone.net" accept-encoding = "gzip, br, zstd, deflate" user-agent = "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" accept = "*/*"
- ------| | ---- ---- - | |--- |--- | | || | | /| | | | -- | | | | | ---- ----- | | | | -- ----/ | | | | --- / | | | /-- --- -- / | -|- / --- --- --- - -- |--
Crow/0.2.0-7428d4c (Source available here).
HTTP server uptime: 31 days, 23 hours, 22 minutes, 36 seconds
ECL 16.1.2 (NetBSD)