GoAhead 2.5 Web Server 网页ROM化的改进
GoAhead 2.5 网页ROM化的改进
GoAhead 是嵌入式Web Server设计的首选利器,其中将HTML文件及其资源转换为*.c文件编译进最终执行文件的功能,为一些没有文件系统的嵌入式工程提供了完美的解决方案,其转换原理就是将文件以Byte的形式转换为若干数组,在页面请求的时候Goahead将数组内容返回给用户,从而达到无需外部文件依赖的目的,但转换中存在的一个问题是,HTML文件为文本文件,其中可能存在很多冗余数据,转换后会在ROM中加入无数毫无用处的数据,从而很难降低最终编译后的ROM大小,这将对一些资源要求很高的嵌入式系统提出很大挑战,
在实际的代码研读中不难发现,这种问题可以通过将HTML的压缩数据存入*.c文件解决,同时在页面请求的时候在使用解压缩接口将数据解压,由于页面数据通常较小,且存在内存中,因此并不影响读取速度,zlib是一种比较简洁的压缩模块,用在此处非常合适。
由于我们使用的是Vxworks系统,因此现在的版本只测试过win32和vxworks,其他没有时间测。
win32 web Server工程: webs-2-5\WIN
win32 web 转换工具工程: webs-2-5\WIN\webutil
vxworks工程: project