# Webserver

**URL:** <https://forum.sierrawireless.com/t/webserver/1901>\
**Category:** Open AT\
**Created:** [February 8, 2008, 11:31am UTC](https://forum.sierrawireless.com/t/webserver/1901 "2008-02-08T11:31:22Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![josias](https://avatars.discourse-cdn.com/v4/letter/j/6a8cbe/32.png) [@josias](https://forum.sierrawireless.com/u/josias)\
**Post date:** [February 8, 2008, 11:31am UTC](https://forum.sierrawireless.com/t/webserver/1901/1 "2008-02-08T11:31:22Z")

</div>

Has anyone tried to make a webserver? My need is simple, I would like to remotely set settings via a web page.

---

<div class="post-metadata">

**Author:** ![fft](https://avatars.discourse-cdn.com/v4/letter/f/e8c25b/32.png) [@fft](https://forum.sierrawireless.com/u/fft)\
**Post date:** [February 8, 2008, 6:07pm UTC](https://forum.sierrawireless.com/t/webserver/1901/2 "2008-02-08T18:07:55Z")

</div>

There’s one provided with Open AT Lua, including active server pages, an AJAX plugin etc.:

[http://www.wavecom.com/lua/wiki/tiki-index.php?page=SampleHttpServer](http://www.wavecom.com/lua/wiki/tiki-index.php?page=SampleHttpServer)  
[http://www.wavecom.com/lua/wiki/tiki-index.php?page=SampleAjax](http://www.wavecom.com/lua/wiki/tiki-index.php?page=SampleAjax)

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [February 8, 2008, 7:17pm UTC](https://forum.sierrawireless.com/t/webserver/1901/3 "2008-02-08T19:17:23Z")

</div>

> [@josias](#):
>
> Has anyone tried to make a webserver?

Of course, lots of people have made webservers!

A webserver in Open-AT would be conceptually no different from a webserver on any other embedded platform - and there are plenty of examples of those all over the web!  
You could start with [codesearch.google.com](http://codesearch.google.com)

> [@](#):
>
> My need is simple

Maybe you could just work straight from the HTTP specs:  
[w3.org/Protocols/rfc2616/rfc2616.html](http://www.w3.org/Protocols/rfc2616/rfc2616.html)

Or try the Lua one.

> [@](#):
>
> I would like to remotely set settings via a web page.

You mean a web page that’s embedded on the Wavecom device?

Don’t forget that this will require a Public IP address…

---

<div class="post-metadata">

**Author:** ![tobias](https://avatars.discourse-cdn.com/v4/letter/t/c67d28/32.png) [@tobias](https://forum.sierrawireless.com/u/tobias)\
**Post date:** [February 8, 2008, 7:59pm UTC](https://forum.sierrawireless.com/t/webserver/1901/4 "2008-02-08T19:59:38Z")

</div>

> [@awneil](#):
>
> > [@](#):
> >
> > I would like to remotely set settings via a web page.
> 
> You mean a web page that’s embedded on the Wavecom device?
> 
> Don’t forget that this will require a Public IP address…

Unless you’re using a VPN solution…

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [February 8, 2008, 8:00pm UTC](https://forum.sierrawireless.com/t/webserver/1901/5 "2008-02-08T20:00:06Z")

</div>

You might like to read this:

> [@](#):
>
> This paper covers fundamental concepts of HTTP and how the Barracuda Embedded Web Server can be used in an embedded device.  
> [barracudaserver.com/WP/intro/](http://barracudaserver.com/WP/intro/)

---

<div class="post-metadata">

**Author:** ![josias](https://avatars.discourse-cdn.com/v4/letter/j/6a8cbe/32.png) [@josias](https://forum.sierrawireless.com/u/josias)\
**Post date:** [February 11, 2008, 8:15am UTC](https://forum.sierrawireless.com/t/webserver/1901/6 "2008-02-11T08:15:15Z")

</div>

THnx for all the reponses, I will work through it. The idea is exactly the same as for adsl modems… I want to log in and be able to set settings on the unit and retrieve the status of the unit.

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [February 11, 2008, 9:48am UTC](https://forum.sierrawireless.com/t/webserver/1901/7 "2008-02-11T09:48:24Z")

</div>

> [@josias](#):
>
> I want to log in and be able to set settings on the unit and retrieve the status of the unit.

Again, remember that this will require a Public IP address…

---

<div class="post-metadata">

**Author:** ![fft](https://avatars.discourse-cdn.com/v4/letter/f/e8c25b/32.png) [@fft](https://forum.sierrawireless.com/u/fft)\
**Post date:** [February 11, 2008, 2:46pm UTC](https://forum.sierrawireless.com/t/webserver/1901/8 "2008-02-11T14:46:05Z")

</div>

> [@](#):
>
> This paper covers fundamental concepts of HTTP and how the Barracuda Embedded Web Server can be used in an embedded device.  
> [barracudaserver.com/WP/intro/](http://barracudaserver.com/WP/intro/)

Barracuda’s embedded web server happens to also be Lua-based. The rationales behind are quite obvious: in an embedded device you mainly want to do CGI, very little static pages serving, and writing CGI in C is challenging, to say the least. So you can either:

- strip down Python/TCL to the point of near-unusability, to make them embeddable;
- or go with a port of Scheme, if you think that your users won’t run away scared by Lisp’s syntax;
- or use Lua, which is simultaneously powerful (its semantics is very close to Scheme’s), user-friendly and embeddable.
