Dear Eiffel developers,
One of the libraries actively used in several projects across the world is EiffelWeb. Started as EWF (Eiffel Web Framework) a few years ago, it is still under active improvements coming from both the original authors and the developers who use it. Among other facilities, it provides connectors that allow for using an Eiffel application in different environments, supporting CGI or FastCGI, or even to run the application as a standalone web server.
Internally, these connectors rely on HTTP/1.1, a stable and rather old standard. With the new requirements and understanding of network usage, more secure and efficient protocols emerge. HTTP/2 was released 3 years ago. And this November, a working draft for HTTP/3 (https://en.wikipedia.org/wiki/HTTP/3
) was announced. The latter is built on top of TLS 1.3 right from the beginning, so the security does not introduce an additional layer of overhead. And, the protocol is based on UDP to allow for better performance of applications where response time is important - such as media streaming. All together this introduces quite interesting and non-trivial challenges for implementers. Some major players, including web servers, wide-spread browsers, and even the well-known cURL project have joined the effort to implement the protocol.
What does it mean for Eiffel community? As soon as cURL library is updated to support HTTP/3, the corresponding Eiffel binding can be updated to support the new functionality and new API. This is expected to be more technical rather than new development work. But for the server side, more efforts are required. Some changes might be required to support the protocol for CGI and FastCGI connectors. And a completely new implementation is required to support a standalone connector that allows to expose an Eiffel application as a web server. Is it something you or your company need in a couple of years? Is your projects going to be used together with modern software with performance and security requirements? Do you want to work on the development of HTTP/3 implementation in Eiffel, and, if yes, how much time you can devote to it?
Supporting a new network protocol is not an easy decision: it requires quite a bit of resources and cannot be finished in a couple of months. We are looking for your feedback on the questions, from both sides - those who needs the functionality and those who can participate in the work. This will direct future evolution of EiffelWeb: shall we dive into this new technology, shall we let web servers to do all the necessary work and keep HTTP/1.1 for standalone Eiffel applications, or shall we focus on application-side functionality without adding support for any new HTTP releases.
Thank you for comments and best regards,
Alexander Kogtenkov for the Eiffel Web community project