之前的, 不能访问,请求了 Web Master,至今没有回音,晚一点补上。SORRY。
shttpd,诸位应该多少都知道怎么样子了。
- Stand-alone server, or embeddable into existing C/C++ program
- GET, POST, PUT, DELETE methods
- CGI
- SSL
- Digest (MD5) authorization
- Multiple (and user defineable) index files
- Directory listing
- Standard logging
- Cookies
- inetd mode
- User-defineable mime types
- No configuration files
- No external dependencies
功能特性,支持CGI, SSL, cookie, MD5认证, 还能嵌入(embedded)到现有的软件里。最有意思的是不需要配置文件!由于shttpd可以嵌入其他软件,因此可以非常容易的开发嵌入式系统的web server,官方网站上称shttpd如果使用uclibc/dielibc(libc的简化子集)则开销将非常非常低。
由于shttpd可以轻松嵌入其他程序里,因此shttpd是较为理想的web server开发原形,开发人员可以基于shttpd开发出自己的webserver!
好了,闲话少说。
1、下载地址:http://shttpd.sourceforge.net
2、编译
这么简单强劲的软件,不用makefile就可以了,命令行就一行:
Linux/Symbian/Windows Mobile等机器,都可以使用 C/C++ 的 CGI 模式来开发了。而 Windows Mobile 还可以使用.net 开发的——如果谁整一个 Embed IIS 那不是非常酷!C/C++ 使用非常广泛。
假如可以执行例如perl或者php这样的强大的语言,那就更酷了!就更不用假如Java了。
7、其他
3G时代的到来,不知道以后的网络会不会跟现在的 gprs 那么多的限制呢!会不会有自己的公网IP呢——如ADSL?
如果未来的网络理想的话,我们完全可以将个人网站搬到手机中。现在的手机性能越来越强大、存储空间也越来越大,就硬件完全是有可能的。
另外,就算和现在的 gprs 的模式相等,可毕竟网络速度上去了,建立一个简单的个人网站,在同一个城市共享信息、资源,是也很方便的,对么。
让我们期待更多、更公平!
arm-linux-g++ -ldl -o shttpd
standalone.c compat_unix.c md5.c shttpd.c mime_type.c config.c log.c
string.c auth.c io_cgi.c io_dir.c io_emb.c io_file.c io_socket.c io_ssl.c cgi.c
注:对于如何构建arm linux 的开发环境,请参考网上的其他的文章,如有问题,请留言。
3、建立非常简单的页面测试
index.html
<html>
<head>
<title>SHTTPD ARM LINUX DEMO</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<h1>Hello World!</h1>
</h3>Here SHTTPD web server serving!</h3>
<br/>
<h4><a href="shttpd_cgi.sh">CGI 1 环境变量演示</a>.</h4>
<h4><a href="shttpd.cgi">CGI 2 最简单的修改手机配置文件演示</a>.</h4>
<h4><a href="20070711081917_.JPG">图片演示</a>.</h4>
<h4>Mailto: <a href="mailto:cangwu.lee/at/gmail.com"> Simon Lee </a>.</h4>
<hr/>
<h3>PowerdBy:ShttpD <img src="shttpd.ico" border="0"/></h3>
</body>
</html>
4、部署
在手机SD卡建立一个 www 目录,将编译成功的 shttpd 和测试的 index.html 一块拷贝到该目录。
启动:
./shttpd -c .sh,.cgi -d /mmc/mmca1/www -p 80
为了方便可以建立一个 startShttpd.sh 来启动,这里就不多说了。
参数说明:
-c 支持的cgi的文件类型
-d 主文当目录
-p 侦听的端口
5、测试
在电脑使用IE/FireFox访问手机,http://169.254.142.2,立即可以看到主画面!
图示 1 主页
图示 2 CGI 环境变量
图示3 编辑/保存的示范
如果目标是其他的不支持HTML的手机,那么就要将主文档改写成 .wml ,这又是另外的话题了。也可以使用cgi的方式,将主文档改写成既支持HTML又支持WML的通用页面。
如果使用 gprs 拨通之后,同城的、其它的手机可以通过IP地址访问的该手机的。给好友共享信息、资源,是不是又多了一个 快捷的 途径?那时候再说是通过蓝牙共享、红外共享、甚至数据线共享,是不是很落后?毕竟咱们进入了网络的时代了呀。
6、扩展性
这款web服务器,完全可以编译好,在各种智能手机中运行。至于开发的语言,通用的就是 C/C++ 的 CGI 开发模式。现在,世界上还有不少的大型网站是使用 CGI 开发的。
(cangwu_lee) |