7. Supported Technologies
This page gives an overview over the technologies that Akka HTTP implements, supports, and integrates with. The page is still quite new. If you are looking for support of some technology and found information somewhere else, please help us fill out this page using the link at the bottom.
HTTP
Akka HTTP implements HTTP/1.1 including these features (non-exclusive list):
- Persistent connections
- HTTP Pipelining (currently not supported on the client-side)
- 100-Continue
- Client Connection Pooling
HTTPS
HTTPS is supported through the facilities that Java provides. See Server HTTPS Support and Client HTTPS Support for more information.
WebSocket
Akka HTTP implements WebSocket on both the server side and the client side. See Server Websocket Support and Client Websocket Support for more information.
HTTP/2
Akka HTTP provides server and client side HTTP/2 support. See Server HTTP/2 Support and Client HTTP/2 Support for more information.
DNS
Akka HTTP provides a pluggable client transport which can be used to customize host name resolution on the client side.
Multipart
Akka HTTP has modeled multipart/* payloads. It provides streaming multipart parsers and renderers e.g. for parsing file uploads and provides a typed model to access details of such a payload.
Server-sent Events (SSE)
Server-sent Events (SSE) are supported through marshalling that will provide or consume an (Akka Stream based) stream of events. See SSE Support for more information.
JSON
Marshalling to and from JSON is supported out of the box for spray-json-based model in Scala and Jackson-based models in Java. See JSON Support for more information.
XML
Marshalling to and from XML is supported Scala XML literals. See XML Support for more information.
Gzip and Deflate Content-Encoding
GZIP and Deflate content-encodings for automatic encoding / decoding of HTTP payloads are supported through directives. See CodingDirectives for more information.