This Java repo contains files and code for a toy HTTP 1.1 server. The server is unintended for production usage and nor has full compliance with HTTP/1.1 for now. Although this will be at best a mediocre implementation, I will continue this project for learning about the HTTP protocol and network programming.
- Ensure compliance with other HTTP/1.1 requirements based on this link: HTTP Made Really Easy
- RFC 9110: HTTP Semantics
- Create basic worker and HTTP request-response classes. (DONE)
- Create and integrate a request handler class!
- Support persistent / non-persistent connections. (DONE FOR NOW)
- Rewrite server resource code. (DONE)
- Add HEAD method support. (DONE)
- Support
If-Unmodified-Since
header. Honor this whenever recieved with a200
or304
based on the header's vs. resource's updating date. - Support
100 Continue
responses. - Support chunked requests.
- The
SimpleRequest
class needs an overhaul to support chunked requests. It might be better to encapsulate theresponseStream
within anotherChunkedRequest
class for an easy fix, as single vs chunked responses have some different grammar.