What are different features provided by Restlet framework?
Contrary to the Servlet API, the Restlet API gives you extensive control on the URI mapping and on the virtual hosts configuration. It includes a powerful Directory class to server static files in a way similar to Apache Web Server. Let us see some of the more complete list of features:
- Static file serving similar to Apache HTTP Server, with metadata association based on file extensions.
- Transparent content negotiation based on client preferences.
- Conditional requests automatically supported for resources.
- Remote edition of files based on PUT and DELETE methods (aka mini-WebDAV mode).
- Decoder service transparently decodes compressed or encoded input representations. This service is transparent for Restlet applications.
- Log service writes all accesses to your applications in a standard Web log file. The log format follows the W3C Extended Log File Format and is fully customizable.
- Powerful URI based redirection support similar to Apache Rewrite module.
- Extensive and flexible security support for both authentication and authorization.
- Core REST and HTTP concepts have equivalent Java artifacts (Resource, Representation, Connector or Component classes for example).
- Suitable for both client-side and server-side web applications. The innovation is that that it uses the same Java API, reducing the learning curve and the software footprint.
- Concept of "URIs as UI" supported based on the URI Templates standard. This results in a very flexible yet simple routing with automatic extraction of URI variables into request attributes.
- Tunnelling service lets browsers issue any HTTP method (PUT, DELETE, PATCH, etc.) through a simple HTTP POST. This service is transparent for Restlet applications.
- Easy API documentation thanks to WADL support and Swagger integration.