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

         

  

 

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源代码分析

 micro_httpd.rar   

目录
相关文章
|
24天前
|
存储 人工智能 项目管理
2025年GitHub平台上的十大开源MCP服务器汇总分析
本文深入解析了GitHub上十个代表性MCP(Model Context Protocol)服务器项目,探讨其在连接AI与现实世界中的关键作用。这些服务器实现了AI模型与应用程序、数据库、云存储、项目管理等工具的无缝交互,扩展了AI的应用边界。文中涵盖Airbnb、Supabase、AWS-S3、Kubernetes等领域的MCP实现方案,展示了AI在旅行规划、数据处理、云存储、容器编排等场景中的深度应用。未来,MCP技术将向标准化、安全性及行业定制化方向发展,为AI系统集成提供更强大的支持。
198 2
2025年GitHub平台上的十大开源MCP服务器汇总分析
|
9月前
|
缓存 应用服务中间件 nginx
Web服务器的缓存机制与内容分发网络(CDN)
【8月更文第28天】随着互联网应用的发展,用户对网站响应速度的要求越来越高。为了提升用户体验,Web服务器通常会采用多种技术手段来优化页面加载速度,其中最重要的两种技术就是缓存机制和内容分发网络(CDN)。本文将深入探讨这两种技术的工作原理及其实现方法,并通过具体的代码示例加以说明。
793 1
|
12月前
|
监控 算法 Java
【深度挖掘Java性能调优】「底层技术原理体系」深入探索Java服务器性能监控Metrics框架的实现原理分析(Gauge和Histogram篇)
【深度挖掘Java性能调优】「底层技术原理体系」深入探索Java服务器性能监控Metrics框架的实现原理分析(Gauge和Histogram篇)
139 0
|
11月前
|
监控 关系型数据库 MySQL
|
7月前
|
机器学习/深度学习 弹性计算 缓存
阿里云服务器经济型e实例与通用算力型u1实例对比分析与选择指南
在阿里云服务器的实例规格中,经济型e实例和通用算力型u1实例是很多个人和普通企业级用户常见的选择,经济型e实例与通用算力型u1实例的主要区别在于性能、应用场景及价格策略。本文将详细对比这两种实例的性能、应用场景及价格策略,以供参考。
|
10月前
|
缓存 应用服务中间件 Apache
缓存代理服务器的实现机制和技术选型
缓存代理服务器是一种特殊的代理服务器,其主要功能是缓存从目标服务器(通常是Web服务器)获取的数据,并在客户端再次请求相同数据时直接提供缓存的数据。通过缓存代理服务器可以加快访问速度并减轻目标服务器的负载。
|
7月前
|
人工智能 运维 Kubernetes
87cloud案例分析:阿里云国际服务器如何支持在线教育
87cloud案例分析:阿里云国际服务器如何支持在线教育
|
7月前
|
弹性计算 安全 Linux
阿里云国际版ECS云服务器ping不通的原因分析
阿里云国际版ECS云服务器ping不通的原因分析
|
7月前
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
100 1
|
7月前
|
域名解析 弹性计算 缓存
阿里云国际云服务器全局流量分析功能详细介绍
阿里云国际云服务器全局流量分析功能详细介绍

热门文章

最新文章