Inbäddad HTTP-server
En inbäddad HTTP-server är en HTTP-server som används i ett inbäddat system .
HTTP-servern är vanligtvis implementerad som en mjukvarukomponent i ett applikationssystem (inbäddat) som styr och/eller övervakar en maskin med mekaniska och/eller elektriska delar.
HTTP-servern implementerar HTTP- protokollet för att tillåta kommunikation med en eller flera lokala eller fjärranvändare som använder en webbläsare . Syftet är att låta användare interagera med information som tillhandahålls av det inbyggda systemet ( användargränssnitt , dataövervakning, dataloggning , datakonfiguration, etc.) via nätverk , utan att använda traditionell kringutrustning som krävs för lokala användargränssnitt ( skärm , tangentbord , etc.) . ).
I vissa fall tillåter funktionerna som tillhandahålls via HTTP-servern även program-till-program-kommunikation, t.ex. för att hämta data som loggas om den övervakade maskinen, etc.
Användningar
Exempel på användning inom en inbäddad applikation kan vara (t.ex.): [ citat behövs ]
- att tillhandahålla ett tunt klientgränssnitt för en traditionell applikation;
- att tillhandahålla verktyg för indexering , rapportering och felsökning under utvecklingsstadiet;
- att implementera ett protokoll för distribution och inhämtning av information som ska visas i det vanliga gränssnittet — eventuellt en webbtjänst , och eventuellt använda XML som dataformat ;
- att utveckla en webbapplikation .
Fördelar
Det finns några fördelar med att använda HTTP för att utföra ovanstående: [ citat behövs ]
- HTTP är ett väl studerat plattformsoberoende protokoll och det finns mogna implementeringar fritt tillgängliga;
- HTTP blockeras sällan av brandväggar och intranätroutrar ;
- HTTP-klienter (t.ex. webbläsare ) är lätt tillgängliga med alla moderna datorer;
- det finns en växande tendens att använda inbäddade HTTP-servrar i applikationer som liknar de ökande trenderna för hemnätverk och allestädes närvarande datoranvändning .
Typiska krav
Naturliga begränsningar för plattformarna där en inbäddad HTTP-server körs bidrar till listan över de icke-funktionella kraven för den inbäddade, eller mer exakt, inbäddningsbara HTTP-servern. Några av dessa krav är följande. [ citat behövs ]
- "Liten" RAM- och ROM- fotavtryck. Den exakta storleken beror på systemet, men i många fall är allt över flera megabyte inte inbäddningsbart.
- Minimalt CPU- utnyttjande.
- korskompilering för flera kombinationer av CPU och operativsystem .
- Enkel integration med en befintlig applikation, inklusive statisk länkning med operativsystemet och applikationen.
- Visar sidor från programminnet om det inte finns något filsystem .
- Modularitet .
- Enkeltråds- och flertrådsstöd . _
För varje specifikt projekt kan kraven variera avsevärt. Till exempel kan ROM- och RAM-footprints vara en mycket allvarlig begränsning och begränsa valmöjligheterna för systemdesignern. C++ eller JVM- tillgänglighet för systemet kan vara en annan begränsning. Ofta är prestanda ett problem, eftersom typiska inbäddade system kör flera samtidiga uppgifter och en HTTP-server är bara en av dem och kan konfigureras som en uppgift med låg prioritet .
Se även
- Jämförelse av webbserverprogramvara
- Jämförelse av applikationsservrar
- Server (dator)
- HTTP-server
- webbserver
externa länkar
- libmicrohttpd innehåller en omfattande lista över inbäddade HTTP-serverbibliotek längst ner på sidan
- Exempel: funktioner för en inbäddad HTTP-serverkomponent
- Embedded Web Server vs Embedded Application Server