Qt prépare un serveur HTTP minimaliste
Le module Qt HTTP Server est en cours de développement

Le , par dourouc05

63PARTAGES

13  0 
Bon nombre d'applications ont besoin d'un serveur HTTP léger, ne fût-ce que côté serveur pour répondre aux requêtes d'une API ReST ou pour afficher une interface déportée par WebGL. Il est assez rébarbatif d'implémenter, projet après projet, le même code pour lire des paquets HTTP, écrire les réponses, gérer les connexions et le routage entre une requête et le code correspondant. C'est pourquoi les développeurs de Qt se sont lancés dans le projet d'un nouveau module implémentant justement un serveur HTTP, le bien nommé Qt HTTP Server. Ce module se veut assez léger, plus qu'Apache ou nginx, probablement aussi que Cutelyst ou QttpServer — tout du moins, pour le moment. Certains envisagent d'inclure un moteur comme Jinja pour faciliter la création de pages HTML, voire un framework Web plus complet encore.

Le code est encore expérimental et est développé en parallèle des dernières versions de Qt. Pour le moment, un petit serveur HTTP pourrait être écrit comme ceci :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
#include <QtCore>
#include <QtHttpServer>
 
int main(int argc, char **argv) {
  QCoreApplication app(argc, argv);
  QHttpServer httpServer;
  httpServer.route("/", []() {
    return "Hello world";
  });
  httpServer.listen(QHostAddress::Any);
  return app.exec();
}
Pour le moment, Qt HTTP Server implémente déjà HTTP 1.0 et 1.1, HTTPS (en cours d'intégration), le routage (à l'aide de fonctions anonymes, apportées par C++11), les sockets Web (tout comme le module Qt Web Sockets) et la gestion des erreurs.

Voir aussi : le dépôt Git du projet, les discussions actuelles.

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de JeanMorlet
Membre du Club https://www.developpez.com
Le 26/01/2019 à 18:47
Je ne dirais pas que je suis super content parce qu'ils le font car je n'en savais rien, mais du coup, je suis super impatient de tester ça . Je pense que c'est un module susceptible de faire gagner pas mal de temps.

 
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web