Un serveur HTTP embarqué est un serveur HTTP utilisé dans un système embarqué .
Le serveur HTTP est généralement implémenté comme un composant logiciel d'un système d'application (embarqué) qui contrôle et/ou surveille une machine comportant des pièces mécaniques et/ou électriques.
Le serveur HTTP implémente le protocole HTTP afin de permettre la communication avec un ou plusieurs utilisateurs locaux ou distants via un navigateur . L'objectif est de permettre aux utilisateurs d'interagir avec les informations fournies par le système embarqué ( interface utilisateur , surveillance des données, enregistrement des données , configuration des données, etc.) via le réseau , sans utiliser les périphériques traditionnels requis pour les interfaces utilisateur locales ( écran , clavier , etc.).
Dans certains cas, les fonctionnalités fournies via le serveur HTTP permettent également des communications de programme à programme, par exemple pour récupérer les données enregistrées concernant la machine surveillée, etc.
client léger pour une application traditionnelle ;Avantages
L'utilisation du protocole HTTP pour réaliser les opérations ci-dessus présente quelques avantages :les pare-feu et les routeurs intranet ;
Exigences typiques
Les limitations inhérentes aux plateformes sur lesquelles s'exécute un serveur HTTP embarqué contribuent à la liste des exigences non fonctionnelles de ce serveur, ou plus précisément, de ce serveur HTTP embarquable. Voici quelques exemples de ces exigences :Empreinte mémoire RAM et ROM réduite . La taille exacte dépend du système, mais dans de nombreux cas, toute capacité supérieure à quelques mégaoctets est inutilisable.
Les exigences varient considérablement d'un projet à l'autre. Par exemple, l'espace disponible en ROM et en RAM peut constituer une contrainte majeure et limiter les choix du concepteur système. La disponibilité de C++ ou de la JVM peut également être un facteur limitant. Les performances sont souvent un problème, car les systèmes embarqués exécutent généralement plusieurs tâches simultanées, dont un serveur HTTP qui peut être configuré comme une tâche de faible priorité .