Share this article:
Who Needs a Web Server?
Not so long ago, I was having some trouble with my Internet connection. I will probably never know exactly what was wrong (as broadband is, for intents and purposes, magic), but investigating the problem was interesting. I am not a networking specialist, so I would expect that messing with the settings inside a router would be hard, but the manufacturers have made it very simple.
I began to wonder why there are not many devices that work in the same way …
As the router allocates IP addresses to computers and other devices on the network, it seems unsurprising that it allocates one to itself. To take advantage of the resulting functionality, it is only a matter of entering this IP address into the browser on any other device on the network. There is then the opportunity to view and adjust lots of settings and parameters for the broadband connection.
So, how does this work? Essentially, the router contains a Web server. This term makes me think of a big powerful computer, which has access to an enormous database of Web pages that it can serve up to a remote computer on demand. It would be more accurate to call it an HTTP server, as essentially all it does is respond to this standard protocol in order to deliver data which looks very like a website. The developers of the router software could very easily construct quite a sophisticated user interface using just a few HTML files.
Although I know that my router is far from unique in operating in this way, it does seem to me that there is enormous potential for other equipment to be given this capability. For example, my hard disc video recorder could be easily controlled from my iPhone or iPad, without the manufacturer needing to create and maintain an app. The same might go for my heating system (program and adjust from anywhere in the house or elsewhere even) or my digital camera (deal with settings, view pictures etc.) or many other electronic devices.
Although you might think of a Web server as being large, an HTTP server which is optimized for embedded applications is quite small in terms of code size and requires very little memory in which to store the HTML pages, which can probably be compressed anyway. Most embedded operating systems have networking options and an HTTP server is a common option.
The possibilities for this kind of UI are really only limited by the designer’s imagination.
Save 30% on his book and other Newnes Press and embedded systems books. Use discount code “STC317″ at checkout.
About the Author
You can read more about Colin and his work on embedded systems at The Colin Walls Blog at Mentor Graphics here. Connect with Colin online here:
Computing functionality is ubiquitous. Today this logic is built into almost any machine you can think of, from home electronics and appliances to motor vehicles, and it governs the infrastructures we depend on daily — telecommunication, public utilities, transportation. Maintaining it all and driving it forward are professionals and researchers in computer science, across disciplines including:
- Computer Architecture and Computer Organization and Design
- Data Management, Big Data, Data Warehousing, Data Mining, and Business Intelligence (BI)
- Human Computer Interaction (HCI), User Experience (UX), User Interface (UI), Interaction Design and Usability
- Artificial intelligence (AI)