Skip to content

Latest commit

 

History

History
20 lines (17 loc) · 1 KB

README.md

File metadata and controls

20 lines (17 loc) · 1 KB

scala-http-server

Small just for fun project to dig deeper into the HTTP 1.1 and fast-cgi protocols.

What is working?

  • multithreaded processing of incoming requests
  • registry with different handlers (transform request to response)
  • simple request matching (based on location or host etc.)
  • Handler to server static files from disk
  • simple registry to set correct content-type for static files based on extension
  • FastCgiHandler to proxy requests via fast-cgi protocol (tested with php-fpm)
  • keep-alive for connections to fast-cgi proxy
  • chunked transport encoding
  • gzip content encoding
  • support for HTTP 1.1 keep-alive
  • maybe introduce some kind of URL rewriting like apache and nginx offer?
  • support for more conditional GET requests (currently only If-Modified-Since for 304 working)
  • more tests

So far it looks like the performance is not too bad in comparison with apache2 or nginx for example. Maybe at some point I will put together some benchmarks.