Version 1.6 of package Simple-Httpd has just been released in NonGNU ELPA.
You can now find it in M-x list-packages RET.

Simple-Httpd describes itself as:

  ======================
  Pure Elisp HTTP server
  ======================

More at https://elpa.nongnu.org/nongnu/simple-httpd.html

## Summary:

                               ━━━━━━━━━━━━━━
                                SIMPLE-HTTPD
                               ━━━━━━━━━━━━━━


  A simple Emacs web server.

  This used to be `httpd.el' but there are already several of these out
  there already of varying usefulness. The server can serve files,
  directory listings and custom servlets. Client requests are sanitized,
  but the server is vulnerable to denial of service attacks, so it should
  only be used for local development or automation. We make no guarantees
  regarding security.

  This package is available on [MELPA] and [ELPA].


  [MELPA] <https://melpa.org/>

  [ELPA] <https://nongnu.elpa.org/>


  1 Usage
  ═══════

## Recent NEWS:

Version 1.6 (2026-05-19)
════════════════════════

  • Depend on Compat, update for new Emacs versions.
  • `httpd-servlet', `httpd-servlet*', `httpd-file-servlet',
    `httpd-with-buffer': Alternative name for `defservlet',
    `defservlet*', `httpd-def-file-servlet' and `with-httpd-buffer'
    respectively.
  • `httpd-log-buffer': New customizable variable for the log
    buffer. Optimize `httpd-log' if the log buffer is disabled.
  • `httpd-html', `httpd-error': Numeric and textual status code are
    passed as arguments to `format'. Add default error page.
  • Store server and client processes and shutdown all processes in
    `httpd-stop'.
  • Parse body as arguments only for mime type
    `application/x-www-form-urlencoded'.
  • Reduce creation of temporary buffers and improve performance.
  • Improve parser robustness with additional checks.
  • Improve asynchronous request handling, maintaining a queue of
    requests.


Version 1.5.1: improvements
═══════════════════════════

  • Add `httpd-running-p'
  • Properly handle "Connection: close" and HTTP/1.0


Version 1.5.0: improvements
═══════════════════════════

  • Drastically improved performance for large requests
  • More HTTP status codes


Version 1.4.6: fixes
════════════════════

  • Added httpd-serve-directory
  • Fix some encoding issues


Version 1.4.5: fixes
════════════════════

  • Update to cl-lib from cl


Version 1.4.4: features
═══════════════════════

  • Common Lisp &key-like defservlet* argument support
  • Fix up some defservlet* usage warnings.


Version 1.4.3: features
═══════════════════════

  • Add `httpd-discard-buffer'
  • Add `httpd-def-file-servlet'
  • Be more careful about not sending extra headers


Version 1.4.2: features, fixes
══════════════════════════════

  • `defservlet*' macro


Version 1.4.1: small bug fixes, one feature
═══════════════════════════════════════════

  • All mime-type parameters now accept string designators
  • Documentation update


Version 1.4.0: features, API change, and fixes
══════════════════════════════════════════════

  • Removed httpd-send-buffer; httpd-send-header now does this
    implicitly
  • httpd-send-header now accepts keywords instead
  • Fix httpd-clean-path in Windows
  • Fix a content-length bug
  • defservlet fontification


Version 1.3.1: features and fixes
═════════════════════════════════

  • Set `standard-output' in `with-httpd-buffer'


Version 1.3.0: security fix
═══════════════════════════

  • Fix path expansion security issue
  • Fix coding system (don't default)


Version 1.2.4: fixes
════════════════════

  • Handle large POSTs
  • Fix date strings

Reply via email to