Python SimpleHTTPServer
SimpleHTTPServer was Python 2's built-in static file server; Python 2 hit end-of-life January 1, 2020, and the module survives only in the frozen Python 2.7.18 docs. Python 3 folded it into the http.server stdlib module, part of CPython 3.14.x as of mid-2026 (docs snapshot: 3.14.6). Run it with `python -m http.server 8000`; flags include --directory (added 3.7), --bind (3.4, IPv6 since 3.8), and --protocol HTTP/1.1 (3.11 — default is still HTTP/1.0). ThreadingHTTPServer (3.7+) serves concurrent requests; plain HTTPServer blocks on one at a time. CGIHTTPRequestHandler and its --cgi flag are deprecated since 3.13, removed in 3.15, because CGI let SimpleHTTPServer execute arbitrary code in the served directory — http.server itself never executes code. Free, PSF-licensed, maintained by CPython core developers. Current version/status: http.server ships in CPython 3.14.x (docs snapshot 3.14.6, 2026); SimpleHTTPServer itself is Python-2-only, frozen at Python 2.7.18 (Python 2 reached EOL Jan 1, 2020). License: PSF License (Python Software Foundation). Maintained by CPython core developers / Python Software Foundation.
Reach for `python -m http.server` to hand a teammate a quick local file drop or preview a static build for five minutes — zero install if Python's already on the box. Don't point it at anything but localhost: it's single-connection unless you swap in ThreadingHTTPServer, ships no auth and no TLS, and Python's own docs say it "is not recommended for production use." Need real concurrency, uploads, or auth? Grab dufs or miniserve (Rust, actively maintained, single static binary). Want npm-familiar syntax instead? Skip http-server — its last npm release was 14.1.1, four years ago. Known weakness: Python's own documentation states http.server "is not recommended for production use" — it lacks authentication, TLS, and (with the default HTTPServer class) concurrent request handling.