日期:2014-05-16  浏览次数:20688 次

如何让自己的linux产品成为一个小型的web服务器
如题,我希望可以让用户通过浏览器和自己的产品进行人机对话,以便进行一些设置和信息访问;就是提供一个简单的webservice,请问是不是需要添加一些额外的组件或者库?是直接用html还是比较新的xml什么的?这个webservice和原来的应用程序之间如何组织和交互?我看有很多产品提供了这个功能,不了解其具体技术实现,有人能阐述个大概么?

------解决方案--------------------
移植一个 webserver,如 goahead、appweb
------解决方案--------------------
参考路由器的设计,openwrt。
------解决方案--------------------
嵌入式linux
boa  webserver
然后用cgi交互。
------解决方案--------------------
我也没接触过html,自己动手学习,几个月后这搭出过能用的系统.所有知识网上找到,善用搜索引擎和翻译软件.
这里 http://www.w3school.com.cn/html/ 有很多前端(浏览器方面实现)的教程,还有在线小例子
jQuery ajax css等
我后端只要还是c语言,没有使用cgi(个人能力不足),导致耦合比较大,开始编程比较简单,到后来全都混在一起,很麻烦.现在项目已经结束了,所有就没改.建议无论用什么样的方式,解耦合到后期非常重要.

前端的话 js 什么的简单用用开始很好学的.根据前人的理论,内容/行为/样式三者分开.只交互数据.我用json交互.相当于设计接口.前后端兼顾.web方面的话参考网上的一些入门教程就够了.如果内容不是很复杂的话.
一个很好的参考:可以参考路由器界面的设计.简单实用.功能也就是通过网络的交互,很符合(至少是我的项目的)需求.

其实业务部分熟悉的话,前端开发不是什么复杂的事情,换个界面的问题.会恨死IE6的.chrome的f12开发者工具是个前端调试的利器,也可以通过它在初期就形象的学习.强烈推荐这个系列的一些视频(不像书本的死板教程,很实用)

web入门,简单介绍  http://happycasts.net/episodes/45
chrome开发者工具,初级到高级都能用到,谷歌出品,我都是用它调试数据的 http://happycasts.net/episodes/40
IEtest Window下,各种IE版本的调试利器,IE6/7/8都不一样,真是TM佩服微软.
jQuery :减少浏览器差异的利器,怕IE6吗?这个能让你暂时遗忘它 http://jquery.com/
jQueryUI :简单的漂亮的UI界面,(程序员审美都是有问题的,没有美工?简单使用的界面库)
json: 比xml更简单的数据格式,xml那是给人看的吗?(吐嘈中).我用这个交互数据,配合jQuery的ajax局部刷新.

ajax在我的项目中就是
a:Asynchronous.有写页面我也需要同步的.
j:JavaScript.我也大量使用jQuery(一般使用方便,特别对于我这样的外行).
x:xml.相对于我的项目xml太沉重了,json就足够应付我需要交互的数据.

web服务器我用的是goahead,这软件已经被"名声堪忧"的Oracle收购了.后期的支持堪忧.网上的技术文章也少.中文圈流传的都是很老的版本,只支持 HTTP1.0,新的版本我看了下,完全不会用 :( .
反正以后如果还有需要的话我是绝对不会在用它的.


引用:
Quote: 引用:

我的理解是boa负责静态网页,cgi负责和接收用户的输入和boa交互,并将网页重新输出到用户浏览器;请问这个静态网页如何制作?需要手动写html吗? 
没做过网页设计啊,对网页的那种不太了解