micro_httpd服务器实现机制分析

简介: micro_httpd是一个轻量级的http服务器 (http://www.acme.com/software/micro_httpd/),micro_httpd从xinetd运行,性能较差,但对于负载较小的网站,micro_httpd是能胜任的,其实现了http服务器的一些基本特征功能: 1.  .

micro_httpd一个轻量级的http服务器 http://www.acme.com/software/micro_httpd/),micro_httpdxinetd运行,性能较差,但对于负载较小的网站,micro_httpd是能胜任的,其实现了http服务器的一些基本特征功能:

1.  ..文件名探测以保证安全;

2.  常用MIME类型识别;

3.  Trailing-slash重定向;

4.  index.html首页的处理;

5.  目录列表;

micro_httpd借助于xinetd(inetd)运行,xinetd的原理与机制参考:

http://blog.chinaunix.net/space.php?uid=20196318&do=blog&id=172787

 

借助xinetdmicrohttpd在处理请求时,可从标准输入读取客户端的请求,向标准输出写入对客户端的响应。所以micro_httpd的核心在于分析http请求参数,并发送响应数据。

 

micro_httpd的部署与使用

1.  下载micro_httpd的源代码包(http://www.acme.com/software/micro_httpd/)并安装;

2.  设置micro_httpd的服务端口号,编辑/etc/services文件,为其分配一个未用的端口号,本例中使用48888,在/etc/services文件末尾添加两行:

micro_httpd        48888/tcp

micro_httpd     48888/udp

3.  添加micro_httpdxinetd配置文件:

    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://192.168.0.65:48888,通过点击目录中文件列表的超链接,可以查看到各个文件的内容。

         

  img_ac34d770fb204f1d94af638c95d390be.png

 

http协议相关

1.  请求与响应报文格式

http://apps.hi.baidu.com/share/detail/24694860

http://blog.csdn.net/yang3290325/archive/2009/01/05/3710976.aspx

2.  查看http请求与响应内容头

http://www.51testing.com/?167686/viewspace-106751.html

http://blog.sina.com.cn/s/blog_5f1fe33f0100d9zp.html

3.  URL Encoding:

http://www.ruanyifeng.com/blog/2010/02/url_encoding.html

http://www.blooberry.com/indexdot/html/topics/urlencoding.htm

 

micro_httpd源代码分析

rar.gif micro_httpd.rar   

相关文章
|
8月前
|
XML 数据挖掘 Linux
服务器丨Linux安装测试单细胞分析软件copykat,遇到的常见报错与解决思路与方法
服务器丨Linux安装测试单细胞分析软件copykat,遇到的常见报错与解决思路与方法
|
1月前
|
监控 JavaScript 安全
监控内网电脑软件设计与实现:基于Node.js的服务器端架构分析
在当今信息技术高度发达的时代,监控内网电脑的需求日益增长。企业需要确保网络安全,个人用户也需要监控家庭网络以保护隐私和安全。本文将介绍一种基于Node.js的服务器端架构,用于设计和实现监控内网电脑软件。
102 0
|
2月前
|
监控 安全 网络协议
windows服务器权限分析
windows服务器权限分析
20 1
windows服务器权限分析
|
7月前
|
Web App开发 前端开发 JavaScript
本地开发好的 SAP UI5 应用部署到 ABAP 服务器时,中文字符变成乱码的原因分析和解决方案
本地开发好的 SAP UI5 应用部署到 ABAP 服务器时,中文字符变成乱码的原因分析和解决方案
36 0
|
6月前
|
存储 弹性计算 大数据
什么是阿里云服务器?阿里云服务器的优缺点分析
什么是阿里云服务器?阿里云服务器的优缺点分析
122 0
|
7月前
|
API Apache Perl
关于 Spartacus 服务器端渲染出现 timeout 的一个具体例子的分析
关于 Spartacus 服务器端渲染出现 timeout 的一个具体例子的分析
43 0
|
7月前
|
数据采集 缓存 JavaScript
运行在 CCV2 环境上的 Angular 服务器端渲染应用的性能瓶颈分析
运行在 CCV2 环境上的 Angular 服务器端渲染应用的性能瓶颈分析
38 0
|
7月前
|
存储 算法 Oracle
服务器数据恢复-UNIX类文件系统数据恢复可能性分析
服务器数据恢复环境: 基于UNIX系统,软件层级的数据灾难。 服务器故障: 1、存储结构出错。 2、删除数据。 3、文件系统格式化。 4、其他原因导致的数据丢失。
|
8月前
|
弹性计算 负载均衡 并行计算
实战案例分析:ECS在电商和大数据领域的应用
本文通过实际案例分析,深入探讨了云服务器ECS在电子商务和大数据领域的应用。在电子商务网站部署方面,我们介绍了如何使用ECS构建稳定的电商平台,包括弹性伸缩和负载均衡的实践。通过示例代码,读者可以了解如何创建ECS实例、配置负载均衡器,以及设置自动伸缩策略,以应对不同流量情况。
331 1
|
8月前
|
弹性计算 数据挖掘 Java
Sentieon性价比高75%,倚天ECS在基因测序场景的实践
基因组测序分析是生物信息学中常见的应用场景,具有重要意义。近期的新平台创新带来了大量数据,同时带来的是数据分析方面的挑战。基因组和外显子数据分析场景中,CPU在分析效率、资源可获得性以及弹性部署等多方便具备均衡的表现,相对于FPGA及GPU方案更具优势。在分析大量基因组数据时,倚天CPU展现了出色的性能和经济性。本文通过在阿里云E-HPC平台上使用Sentieon进行基因组测序分析实验,结果显示倚天实例相对于同规格的7代x86实例可实现高达75%的性价比优势,是客户降本增效的最佳选择。