[Web Server](一)Tiny Web Server分析
写在前面: 计划写一个Web 服务器,在小组的群博上没有找到相关的文章,自己打算从开始记录下这个过程,一是整理清楚我的构建过程,二是也能让后面的同学做一下参考。 CSAPP上网络编程那一章最后实现了一个小但是功能较齐全的Web 服务器,叫做TINY。因为只是知道HTTP协议的一些概念,还不太清楚一个Web服务器的工作流程和代码组织结构,而书上给出了 Tiny Server 的完整实现,代码非常短,只有几百行,所以自己模仿着手撸了一遍,并试着分析了代码,运行了一下,给自己一个直观的认识。源代码放在 这里 ,加注释的代码放在 这里 。接下来分析下这个Tiny Web服务器。 PS:WEB基础就不写了,自己了解下基本的概念,那么看起代码来就足够了。 CSAPP上面的例子用到的一些通用的函数都放在 csapp.h 头文件中,并在 csapp.c 中给出实现。我们看到的大写首字母开头的函数,是在原功能函数上面加上了错误处理,比如 pid_t Fork( void ) { pid_t pid; if ((pid = fork()) < 0 ) unix_error( "Fork error" ); return pid; } (一) main 函数 监听命令行中传来的端口上的连接请求,通过 Open_listenfd 函数打开一个监听套接字,执行无限循环,不断接受连接请求,执行HTTP事务