See Also
Embedthis Appweb™ Features
The Appweb product includes the following components:
- Appweb HTTP Server main program
- Appweb HTTP Client program
- Appweb HTTP Server library
- Appweb HTTP Client library
- Appweb loadable modules for server-side JavaScript, Embedded Gateway Interface, Common Gateway Interface, and PHP
- Ejscript web framework for server-side JavaScript programming
- Secure Sockets Layer (SSL/TLS)
- Documentation
- Samples
- Source code
Feature Overview
HTTP Server Engine
- Full HTTP/1.1 support
- Mulit-threaded, event based server
- Fast co-routine request pipeline
- Per-request virtual arena-based memory allocator (prevents memory leaks)
- 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
- Error and access Logging (Common Log Format)
- Apache style configuration
- Angel monitoring process
- Sand-box resource limits
Performance
- Request throughput (> 4,500 requests per second)
- Multi-threaded scaling on multi-cpu systems
- Small memory footprint even under heavy load (from 800K)
Modularity
- Dynamic loading of modules
- Modules for CGI, PHP, Authorization, Chunked requests, Ranged reqeusts, directory listings, EGI, static file requests, file upload and SSL
- Extensible URL handlers
- Extensible / replaceable authorization, SSL and script
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
Dynamic Content
- Ejscript Server-Side JavaScript
- Embedded Gateway Interface (in-memory CGI)
- CGI/1.1
- PHP
Ejscript Web Framework
- Server-side JavaScripting
- Model / View / Controller paradigm or stand-alone web pages
- SQLite database and ORM layer and database migrations
- Web page templating engine
- Ajax View Controls with jQuery support
- Embedded scripting in HTML pages
- Session and flash inter-request state management
Developer Support
- HTTP server and client libraries
- Shared and static libraries supplied
- Extensive C API
- Operate single-threaded or multithreaded (Compile or run-time selectable)
- Easy, intuitive programming model
- Coding minimized as most features can be specified via the configuration file
- Extensive debug trace logging
Documentation
- Full C API Documentation
- Cookbook of samples (cut and paste to get going)
- Tutorials
Platform Support
- Linux (2.4, 2.6: Ubuntu, Fedora)
- Windows (XP, Vista, 7)
- MAC OSX (Leopard)
- VxWorks (5.4, 6.3)
- Free BSD
- Windows CE
Embedding Support
- Supports ARM, MIPS, X86, PPC, Sparc processors
- Full cross-compilation support. Use Windows, Linux or Mac as build system
- Fine-grained control for conditional build and compilation
- Build statically or shared
- Execute from ROM. Supports XIP
Other Features
- Packaged installations for Linux, Windows and MAC OS X
- Run as a service / daemon
- HTTP server and client access program
Standards
- HTTP/1.1
- CGI/1.1
- Apache configuration file and logging compatibility