Appweb Specifications
The Appweb product includes the following components:
- Appweb HTTP Server program
- Appweb HTTP Client program
- Appweb HTTP Server library
- Appweb HTTP Client library
- HTTP Proxy
- ESP MVC web framework
- Secure Sockets Layer (SSL/TLS)
- FastCGI, CGI, File Upload, Directory Listing
- Documentation
- Samples
- Source code
Feature Overview
HTTP Server Engine
- HTTP/1.0, HTTP/1.1 support
- HTTP/2 support with multiplexing and header compression
- FastCGI with dynamic launching, multiplexing and restart
- HTTP reverse proxy
- Multithreaded, event based server
- Fast co-routine request pipeline
- Sendfile and vectored I/O
- Supports ranged, chunked and pipelined requests
- Supports transfer chunk encoding to preserve keep-alive
- Virtual Hosting: IP-based and Name-based
- Security defensive monitoring and counter-measures
- Error and access Logging (Common Log Format)
- Full request tracing
- Apache style configuration
- Service monitoring process
- Sand-box resource limits
- Response caching
- Web Sockets
- Fully configurable routing for human readable URLs
- Garbage collector to prevent memory leaks
Performance
- Request throughput (> 40,000 requests per second on PC)
- Multithreaded and event based
- Small memory footprint even under heavy load (from 1MB)
Modularity
- Dynamic loading of modules
- Modules available for for CGI, PHP, SSL
- Extensible modules and URL handlers
- Extensible / replaceable authorization, SSL and scripting
Security
- Secure Sockets Layer (SSL)
- Basic and Digest Authentication
- Directory and URL location based authorization
- Sandbox limits
- Access and access violation logging
- Safe portable runtime to protect against memory leaks and buffer overflows
- Defensive counter-measures
Dynamic Content
- ESP C-Language web framework
- CGI/1.1
- PHP
ESP C-Language Web Framework
- Model / View / Controller paradigm or stand-alone web pages
- SQLite database and in-memory databases with migrations
- Web page templating engine
- Embedded C-code in HTML pages
- Session and flash inter-request state management
- WebSockets APIs for dynamic content
- Transparent recompilation and reload
Developer Support
- HTTP server and client libraries
- Shared and static libraries supported
- Extensive C API
- Easy, intuitive programming model
- Extensive debug trace logging
Documentation
- Full C API Documentation
- Cookbook of samples (cut and paste to get going)
- Tutorials
Platform Support
- Linux
- Windows
- MAC OS X
- FreeBSD, NetBSD
- FreeRTOS
- ESP-IDF
- QNX
- Quadros
- VxWorks
Embedding Support
- Supports ARM, MIPS, X86, X64, PPC, RiscV, SH, Sparc, TIDSP, Xtensa
- Full cross-compilation support. Use Windows, Linux or Mac as build system
- Fine-grained control for conditional build and compilation
- Build statically or shared
Other Features
- Binary Packaged installations for Windows and MAC OS X
- Run as a service / daemon
Standards
- HTTP/2
- HTTP/1.1
- CGI/1.1
Please read Licensing for further details.