Skip to content

dmaicher/scala-http-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Small just for fun project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages