FastDog – 轻量级的 Web 服务器

最近在学习 Web 开发,在学习过程中我觉得认真的研究一下 HTTP 协议还是有一定必要的。就试着写一个 Web 服务器玩玩吧,好久没有用C语言写过程序了,也当作一个练习吧。

FastDog 大致的架构如下:
* HTTP 1.1 协议
* 支持静态和动态页面
* 高性能I/O
* 多工作线程
* 基于共享库的模块化站点框架

目前在看最重要的东西 RFC2616(HTTP 1.1 协议),看完准备实现 HTTP 部分和站点框架。

项目网站:http://github.com/heihaier/fastdog/

Over!fastdog/

7 thoughts on “FastDog – 轻量级的 Web 服务器”

  1. 呵呵,看见你这个很高兴啊,因为我最近也在学着用C写点东西,和你这个有点像,不知道你具体想弄成什么样的。我有个想法,但C不是很了解,一直没写成,不知道你是不是可以在这个东东的基础上改一下,写一个出来哦

  2. 其实就是一个简单的代理服务器,但和很多代理不一样的地方是,它会把访问过的文件在指定的目录缓存起来。
    这样,别的服务器也可以访问它缓存的文件。
    例如:访问http://jianel.net/test.html
    用户–》服务器-(查看缓存目录里是否有文件,没有请求代理给出文件)->代理服务器-(请求应用服务器,并把输出缓存在指定目录)->应用服务器(tomcat)

    这样的好处是,可以把应该服务器生成的动态文件用代理服务器静态化,下次前端的服务器就直接请求静态的文件,不用访问应用(动态)服务器了。

  3. 这样的好处是不管前端是什么服务器,只要支持urlrewrite就可以实现动态文件静态化。

    我现在用的是nginx+tomcat,不过,由于java不是很稳定,导致流量一大tomcat就挂了,而nginx也无法给出正确的页面了,如果有这么一个代理,那就完美了。

    等你的回复哦,顺便邮件我一下。

    另外,我不想用squid,因为它的缓存别的服务器是读不了的

Leave a Reply

Your email address will not be published. Required fields are marked *