HTTP Server
Detailed Description
The HTTP Server included with the Modtronix SBC65EC Web Server is implemented as a cooperative task that co-exists with the Modtronix TCP/IP Stack and the user’s main application. The Server itself is implemented in the source file "HTTP.c", with a user application implementing two callback functions.
The HTTP Server provided here does not implement all HTTP functionality. it is a minimal server targeted for embedded system. The user can easily add new functionality as required.
The HTTP Server incorporates these main features:
- Supports multiple HTTP connections
- Contains a simple file system
- Supports Web pages located in either internal program memory or external serial EEPROM
- Includes a PC-based program to create a File System Image from a given directory
- Supports the HTTP method GET (other methods can be easily added)
- Supports a modified Common Gateway Interface (CGI) to invoke predefined functions from within the remote browser. See CGI for details.
- Supports dynamic web page content generation - see Dynamic Web Pages for details.
In order to integrate the HTTP Server into a user application, do the following (has already been done for the Modtronix SBC65EC Web Server):
- Uncomment STACK_USE_HTTP_SERVER in the projdefs.h header file, this will enable HTTP Server related code. See Project Configuration for details.
- Set the desired MAX_HTTP_CONNECTIONS value in the projdefs.h header file. See Project Configuration for details.
- Include the files http.c in the project.
- Depending on what File System you want to use, include the required fsxx.c file in the project. The default File System is the Modtronix EEPROM File System, and requires the fsee.c file.
- Implement the HTTPGetVar() and HTTPExecGetCmd() callback functions in the user application.
It will also be necessary to generate any Web pages in advance and convert them into a compatible format for storage. For details on generating Web pages, see Updating The Web Pages.
For details on configuring this module, see
Configuration section of
http.h file.