http4s servers and clients share an immutable model of requests and responses. Standard headers are modeled as semantic types, and entity codecs are done by typeclass.


The pure functional side of Scala is favored to promote composability and easy reasoning about your code. I/O is managed through cats-effect.


http4s is built on FS2, a streaming library that provides for processing and emitting large payloads in constant space and implementing websockets.


http4s cross-builds for Scala.js and Scala Native. Share code and deploy to browsers, Node.js, native executable binaries, and the JVM.