博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
micro_httpd服务器实现机制分析
阅读量:5281 次
发布时间:2019-06-14

本文共 1035 字,大约阅读时间需要 3 分钟。

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

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

2.  常用MIME类型识别;

3.  Trailing-slash重定向;

4.  index.html首页的处理;

5.  目录列表;

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

 

借助xinetdmicrohttpd在处理请求时,可从标准输入读取客户端的请求,向标准输出写入对客户端的响应。所以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_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协议相关

1.  请求与响应报文格式

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

3.  URL Encoding:

 

micro_httpd源代码分析

  

转载于:https://www.cnblogs.com/yunnotes/archive/2013/04/19/3032357.html

你可能感兴趣的文章
JavaScript 变量
查看>>
java实用类
查看>>
smarty模板自定义变量
查看>>
研究称90%的癌症由非健康生活习惯导致
查看>>
命令行启动Win7系统操作部分功能
查看>>
排序sort (一)
查看>>
Parrot虚拟机
查看>>
Teamcenter10 step-by-step installation in Linux env-Oracle Server Patch
查看>>
Struts2学习(三)
查看>>
Callable和Runnable和FutureTask
查看>>
GitHub 多人协作开发 三种方式:
查看>>
文本域添加编辑器
查看>>
Yum安装MySQL以及相关目录路径和修改目录
查看>>
java获取hostIp和hostName
查看>>
关于web服务器和数据库的各种说法(搜集到的)
查看>>
C# Stream 和 byte[] 之间的转换
查看>>
OMG: daily scrum nine
查看>>
redis与spring结合错误情况
查看>>
第六章 字节码执行方式--解释执行和JIT
查看>>
字符串方法title()、istitle()
查看>>