micro_httpd是一个轻量级的http服务器 (),micro_httpd从xinetd运行,性能较差,但对于负载较小的网站,micro_httpd是能胜任的,其实现了http服务器的一些基本特征功能:
1. ..文件名探测以保证安全;
2. 常用MIME类型识别;
3. Trailing-slash重定向;
4. index.html首页的处理;
5. 目录列表;
micro_httpd借助于xinetd(inetd)运行,xinetd的原理与机制参考:
借助xinetd,microhttpd在处理请求时,可从标准输入读取客户端的请求,向标准输出写入对客户端的响应。所以micro_httpd的核心在于分析http请求参数,并发送响应数据。
micro_httpd的部署与使用
1. 下载micro_httpd的源代码包()并安装;
2. 设置micro_httpd的服务端口号,编辑/etc/services文件,为其分配一个未用的端口号,本例中使用48888,在/etc/services文件末尾添加两行:
micro_httpd 48888/tcp
micro_httpd 48888/udp
3. 添加micro_httpd的xinetd配置文件:
vi /etc/xinetd.d/micro_httpd
service micro_httpd
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/local/sbin/micro_httpd
server_args = /var/www/html
disable = no
flags = IPv4
}
# 其中server_args为配置micro_httpd运行时的根目录
4. 重启xinetd服务以加载新的配置。/etc/init.d/xinetd restart
5. 测试,拷贝测试文件到micro_httpd的根目录,并通过浏览器访问:
,通过点击目录中文件列表的超链接,可以查看到各个文件的内容。
http协议相关
1. 请求与响应报文格式
2. 查看http请求与响应内容头
3. URL Encoding:
micro_httpd源代码分析