自己动手写的Web服务器<一>
2012-03-30 23:44
393 查看
背景介绍
书到用时方恨少,工作之后才知道自己的知识有多么的困乏,学识有多么的浅薄。好在我的程序员工作不那么苦逼,每天有大把的时间让我学我学习,经《程序员》的推荐,花大价钱买了一本《深入理解计算机系统》,对于这本书,我的评价是——计算机知识的高品质富矿。于是我拿着这本书开始修炼内功,只恨学校没有使用这本书当教材,只恨自己没有早发现这本书。
言归正传,这个Web服务器出自《深入理解计算机系统》,我只是当打字员敲入电脑,试用和学习了一番,然后拿出来跟大家分享一下,大家如果有疑问去看原书效果更佳。
先把代码贴出来,大家可以先上手试用一下,如果感兴趣可以继续往下了解。这里下载
我的运行环境在Ubuntu11.10下,解压下载文件生成WebServer。
在terminal里进入WebServer目录输入
make
如果编译成功的话,你的目录下会生成tinyServer和tinyThreadServer两个可执行文件,tinyThreadServer是我在tinyServer基础上实现的多线程版。
在terminal里输入
./tinyServer 8080
运行tinyServer,运行正确的话, terminal上会打出
Server Startup, ready bind to [8080]
接下来就可以使用浏览器向WebServer发起http请求了,我使用的firefox浏览器,在地址栏中输入
http://localhost:8080/add?100&1000
浏览器的输出结果是
如果要请求静态信息的话,可以将自己写好的html页面放入WebServer/cgi-bin目录下,在地址栏输入
http://localhost:8080/cgi-bin/xxx.html
结果就可以显示出来了。
下次跟大家分享具体的原理和代码。
书到用时方恨少,工作之后才知道自己的知识有多么的困乏,学识有多么的浅薄。好在我的程序员工作不那么苦逼,每天有大把的时间让我学我学习,经《程序员》的推荐,花大价钱买了一本《深入理解计算机系统》,对于这本书,我的评价是——计算机知识的高品质富矿。于是我拿着这本书开始修炼内功,只恨学校没有使用这本书当教材,只恨自己没有早发现这本书。
言归正传,这个Web服务器出自《深入理解计算机系统》,我只是当打字员敲入电脑,试用和学习了一番,然后拿出来跟大家分享一下,大家如果有疑问去看原书效果更佳。
先把代码贴出来,大家可以先上手试用一下,如果感兴趣可以继续往下了解。这里下载
我的运行环境在Ubuntu11.10下,解压下载文件生成WebServer。
在terminal里进入WebServer目录输入
make
如果编译成功的话,你的目录下会生成tinyServer和tinyThreadServer两个可执行文件,tinyThreadServer是我在tinyServer基础上实现的多线程版。
在terminal里输入
./tinyServer 8080
运行tinyServer,运行正确的话, terminal上会打出
Server Startup, ready bind to [8080]
接下来就可以使用浏览器向WebServer发起http请求了,我使用的firefox浏览器,在地址栏中输入
http://localhost:8080/add?100&1000
浏览器的输出结果是
Welcome to add.com:The Internet addition portal. The answer is: 100 + 1000 = 1100 Thanks for visiting!
如果要请求静态信息的话,可以将自己写好的html页面放入WebServer/cgi-bin目录下,在地址栏输入
http://localhost:8080/cgi-bin/xxx.html
结果就可以显示出来了。
下次跟大家分享具体的原理和代码。
相关文章推荐
- 服务器开发之内存<一> 小片内存的管理
- 基于构建实时WEb应用的HTML5 WebSocket协议<一>
- java_web初学笔记之<Tomcat服务器的简单配置>
- <<自己动手写操作系统>>学习笔记(一)---MBR,PBR,BPB,文件系统
- 菜鸟的Hadoop学习之路系列<一>:自己动手搭建Hadoop集群
- jsp web常见问题汇总<一>
- web服务器压力测试工具(总结)<一>
- <自己动手写操作系统>第三章——pmtest3源码解析:使用LDT
- 自己动手,实现一种类似List<T>的数据结构(二)
- Web系统的测试方法&lt;一&gt;
- asp.net<Web版> ---GridView 数据导出到excel表,系列问题<一>---导出的Excel文件格式与文件扩展名指定的格式不一致
- <自己动手写操作系统>第三章pmtest7源码解析——检测系统内存
- asp.net<Web版> ---将excel表数据导入到数据库问题<一>---未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序
- WebService<一>
- <<自己动手写操作系统>>学习笔记(一)---后记
- Jabber 协议概述 <一>
- Git的入门教程<一>
- 一个web项目web.xml的配置中<context-param>配置作用
- 案例学习---------->web服务器性能下降,长时间打不开网页
- MCAPI学习笔记<一>——简介与Linux下示例程序测试