A lightweight HTTP server and client implementation in Python using raw sockets.
PyWyrm is a minimal HTTP implementation built for learning network programming fundamentals. No external dependencies, no frameworks - just pure Python and sockets.
- HTTP Server: Simple HTTP/1.1 server with GET method support
- Non-blocking I/O with
select()for concurrent connections - Directory traversal protection
- Serves only
.html/.htm
- Non-blocking I/O with
- HTTP Client: Minimal client with automatic redirect following
- Dual Stack: IPv4 and IPv6 support
- Zero Dependencies: Uses only Python standard library
python http_server.py 8080python http_client.py http://localhost:8080/index.htmlPerfect for understanding how HTTP works under the hood without the complexity of production frameworks.