zig-serve
zig-serve copied to clipboard
Server implementations for several protocols in Zig. Includes http(s), gemini and gopher
zig-serve
A implementation of several network protocols for Zig:
- HTTP 1.1
- Gemini
- Gopher
- Finger
Disclaimer
DO NOT USE THESE SERVER IMPLEMENTATIONS IN PRODUCTION!
They are very much work-in-progress without any warranty of function or correctness. Don't even think about security right now!
Status
Protocol | Status |
---|---|
Finger | ⏸ Not started |
Gopher | 🧪 Experimental |
Gemini | 🧪 Experimental |
HTTP(S) | 🧪 Experimental |
Experimental means that there is basic support for the protocol, but no spec compliance has been proven yet.
Development / Tasks
Create a new self-signed SSL certificate
openssl req -new -x509 -config examples/data/cert-config.cfg -nodes -newkey rsa:2048 -keyout examples/data/key.pem -out examples/data/cert.pem -days 36500
RFCs & Specs
- RFC1945 - Hypertext Transfer Protocol -- HTTP/1.0
- RFC2616 - Hypertext Transfer Protocol -- HTTP/1.1
- RFC7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
- RFC1436 - The Internet Gopher Protocol (a distributed document search and retrieval protocol)
- Project Gemini - Speculative specification
- RFC1288 - The Finger User Information Protocol