This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

Civetweb sample

Overview

This sample application uses the HTTP APIs provided by the external Civetweb module to create an HTTP server demonstrating selected Civetweb features. The Civetweb module is available as a west module.

The source code for this sample application can be found at: samples/net/civetweb/http_server.

Requirements

  • A board with hardware networking

  • The Civetweb module (made available via west)

Building and Running

This sample was tested on the Atmel SAM E70 Xplained board, so this is the recommended target.

Build it with:

west build -b sam_e70_xplained samples/net/civetweb/http_server

The sample application uses a static IP configuration.

After flashing the board, the server can be accessed with the web browser of your choice at 192.0.2.1:8080.

The sample does not serve any files like HTTP (it does not use any filesystem). Instead it serves the following three URLs:

  • / - a basic hello world handler

  • /info - shows OS information, uses the JSON format to achieve that

  • /history - demonstrates the usage of cookies

A regular 404 status code is returned when trying to access any other URL.

The IP configuration can be changed in Zephyr config. The default port can be changed in the sources of the sample.