Profil
Les codes de statut HTTP dans les spécifications d’applications web avec SCOAS
Les applications web communiquent entre elles via des interfaces de programmation (APIs) qui reposent sur le modèle client-serveur. Concrètement, un client (logiciel) forme une requête suivant le protocole HTTP qui décrit le service, l’opération à effectuer (récupérer une information, insérer des données), ainsi qu’un certain nombre de paramètres (ville pour une application météo par exemple). Le client reçoit en retour une réponse (Bruxelles, ensoleillé, 20°C) et un code de statut qui indique si l’opération s’est bien passée, si l’authentification a échoué, etc. Le protocole HTTP décrit la signification de chaque code de statut, et les spécifications des applications web devraient idéalement y adhérer. Cette adhérence est primordiale pour l’interopérabilité des applications web. Cet article, réalisé en collaboration entre UNamur et l’université de Luxembourg, démontre que c’est loin d’être le cas, y compris pour des applications populaires (Deezer, Spotify, PayPal, …). En particulier, nous avons défini 26 règles d’adhérence (en nous basant sur la description du protocole HTTP) que nous avons automatisées dans un outil nommé SCOAS (Status Code Analysis in OpenAPI Specifications). Nous avons observé 18916 violations de ces règles parmi 60 spécifications d’applications web. Ces violations sont indépendantes de la taille de l’application et de sa maturité. L’équipe de recherche a donc conclu qu’il n’est pas suffisant de faire uniquement confiance aux codes de statut lors de la conception de clients d’application web ou d’outils de tests dont les résultats peuvent être biaisés par des codes de statut inappropriés.
Conference paper from the 26th International Conference on Web Engineering, Springer LNCS 16625, Lyon, France, June 2026.
*Alix Decrop, doctorant, PReCISE /NaDI, faculté d’informatique, UNamur
Mike Papadakis, SnT, Université de Luxembourg
Gilles Perrouin, Chercheur Qualifié FNRS, PReCISE /NaDI, faculté d’informatique , UNamur