Der öffentliche main-Stand enthält drei kleine Netzwerkbausteine und ihre Tests. Sie sind bewusst isoliert und nachvollziehbar; die vollständige Service-Kette ist noch nicht integriert.
HTTP-Client in Python
Der Client in http-server/client.py akzeptiert [http://]host[:port][/path], setzt standardmäßig Port 80, baut einen GET-Request nach HTTP/1.0 und liest Statuszeile, Header und Body aus dem Socket. Nicht unterstützte Transfer- und Content-Encoding werden explizit abgelehnt.
Minimaler HTTP-Server
http-server/server.py bindet sequenziell an 0.0.0.0:8088, liest einen Request-Abschnitt und antwortet mit einer CRLF-gerahmten HTTP/1.1-Response, Content-Length, Connection: close und HELLO WORLD!.
DNS-Server-MVP in Go
dns-server/server.go beantwortet UDP-Anfragen auf 127.0.0.1:8053. Eine A-Anfrage für app.local liefert 127.0.0.1; unbekannte Namen werden als NXDOMAIN beantwortet, andere oder fehlerhafte Anfragen bleiben begrenzt.
Verhaltensorientierte Tests
http-server/tests/ prüft URL-Parsing, Client-Server-Integration, abgelehnte Verbindungen, HTTPS-Ablehnung und den Server-Smoke-Test. dns-server/server_test.go prüft bekannten Record, NXDOMAIN, nicht unterstützte Typen und fehlerhafte Pakete.
Dokumentation und ADRs
Die README-Dateien dokumentieren Start und Tests. ADRs halten die Entscheidung für Python-unittest sowie Go und die testnahe Struktur des DNS-MVP fest.