Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-60105

Lightweight HTTP server



    • Epic Name:
      Light HTTP Server


      Provide a framework for an HTTP server with the following main applications:

      • make it easy for developers to expose some Qt application functionality through REST APIs
      • support integration of WebAssembly and UI remoting technologies (such as WebGL) into Qt
      • make devices built with Qt configurable or remote-controlled via HTTP

      Initial Version

      The main feature of the initial version of the framework is to provide routing as per HTTP 1.1, and access to response and request objects through C++ and QML APIs, while maintaining a small footprint. The framework is extensible through C++ subclassing of the respective abstract and interface classes.

      Basic functionality

      • HTTP 1.1 standard compliant handling of requests and responses
      • access to the HTTP request and response properties (verb/method, headers, body) through a convenient API
      • routing with type checking and implicit conversion (QTBUG-60106)
      • error handling with custom error response
      • support for websockets

      Scalability and concurrency

      • single-threaded, event driven by default
      • reentrant framework
      • multithreaded response handling by subclassing QTcpServer is possible


      • support for encryption via HTTPS (should be default)
      • basic authentication possible through access to HTTP header (QTBUG-60109)

      Support for operators

      • runtime-configurable logging
      • rate limiting (in addition to QTcpServer::setMaximumPendingConnections; might need more functionality in the network stack to prevent flooding/DDoS/brute-forcing)

      Future releases

      Features we are considering

      Technologies to be researched

      • how to integrate with a reverse proxy (nginx, wsgi)
      • working with API gateway technologies (swagger etc)
      • QUIC
      • JSON-RPC


      It Would be great if some detailed README is there which states how it can be build used,.


          Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.



              cnn Qt Core & Network
              fdv Fredrik de Vibe
              PM Owner:
              Vladimir Minenko Vladimir Minenko
              RnD Owner:
              Alex Blasche Alex Blasche
              54 Vote for this issue
              87 Start watching this issue



                  Gerrit Reviews

                  There are no open Gerrit changes