MINI_httpd移植,构建小型WEB服务器】的更多相关文章

#include <stdio.h> #include <sys/socket.h> #include <stdlib.h> #include <string.h> #include <netinet/in.h> #include <zconf.h> #define PORT 8080 // 服务器监听端口 #define MAX_QUEUE 5 // 待连接的队列最大数 #define MAX_LEN 1024 // 接收浏览器数据…
一.简介 目的:构建小型WEB站,具备SSL. mini_httpd is a small HTTP server. Its performance is not great, but for low or medium traffic sites it's quite adequate. It implements all the basic features of an HTTP server, including: GET, HEAD, and POST methods. CGI. Bas…
HttpListener 实现web服务器 用于小型服务器,简单.方便.不需要部署. 总共代码量不超过50行. static void Main(string[] args) { //创建HTTP监听 using (var httpListener = new HttpListener()) { //监听的路径 httpListener.Prefixes.Add("http://localhost:8820/"); //设置匿名访问 httpListener.Authenticatio…
Apache 是世界使用排名第一的 Web 服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一.Apache工作模式有多种,其中最常用的有两种: Prefork 模式:Prefork MPM 使用多个子进程,每个子进程只有一个线程.每个进程在某个确定的时间只能维持一个连接.在大多数平台上,Prefork MPM 在效率上要比 Worker MPM 要高,但是内存使用大得多. prefork 的无线程设计在某些情况下将比 w…
一.背景 csapp的网络编程粗略的介绍了关于网络编程的一些知识,在最后的一节主要就实现了一个小型的Webserver.这个server名叫Tiny,它是一个小型的可是功能齐全的Webserver.在短短300行左右的代码中,结合了很多思想,比如,进程控制,unix I/O.套接字.HTTP等,令人兴奋的是,它能够为Web浏览器提供静态和动态的内容,也就是说在浏览器中要打开的HTML之类的文件能够直接通过Tiny直接显示在窗体. 我一直想要学习网络编程,这或许就是第一个做成的东西吧,想想都让人兴…
1.软件的主要架构 软件的文件布局比较清晰,主要分为6个模块,主模块是thttpd.c文件,这个文件中包含了web server的主要逻辑,并调用了其他模块的函数.其他的5个模块都是单一的功能模块,之间没有任何耦合. 其中包括多路IO复用的抽象模块fdwatch.h/c,这个模块中将常用的IO复用接口,如poll/select抽象为一类接口,从而保证了接口的单一性和软件的可移植性. libhttpd模块包含的是libhttpd.h/c文件,主要的功能是完成地提供http请求的解析和处理服务,对外…
一.Apache服务器工作模式 1.Prefork模式:Prefork MPM使用多个子进程,每个子进程只有一个线程,每个进程在某个确定的时间只能维护一个连接 2.Worker模式: Worker MPM使用多个子进程,每个子进程又有多个线程,每个线程在某个确定的时间只能维护一个连接,一般在高流量的HTTP服务上,Worker 是     个比较好的选择,因为Worker 内存使用比PreFork要低的多. 二.安装Apache 1.新建soft目录:mkdir soft 2.下载Apache安…
1.主函数模块分析 对于主函数而言,概括来说主要做了三点内容,也就是初始化系统,进行系统大循环,退出系统.下面主要简单阐述下在这三个部分,又做了哪些工作呢. 初始化系统 拿出程序的名字(argv[0])用来作为参数打开那个log(syslog) 解析命令行的参数(parse_args),初始化内部的参数变量 检查当前主机名(addr) 没有的话利用gethostbyname从hostname中获取 检查当前要使用的主机端口(port) 读取Throttle file(门限文件,这里省略) 检查l…
.git bash 执行代码生成: ./makeJs.sh 生成文件如下: 访问:http://127.0.0.1:3030/index.html makeJs.sh  代码如下: #create makePost.sh post=./makePost.sh if [ -f "$post" ];then echo "$post 文件己存在" else ( cat <<EOF count=1 while [ "$#" -ge "…
一.web服务器 Web服务器就是整个万维网的骨干,广义上来说Web服务器既可以用来表示Web服务器的软件,也可以用来表示提供Web页面的特定设备和计算机.我们在网络上获取的所以资源,都需要有服务器来保存和提供.另外需要说明的是本篇中对于Web服务器的配置说明是基于Apache Web服务器的. 1 Web服务器的类型 Web 服务器有着不同的风格.形状和尺寸.有普通的 10 行 Perl 脚本的 Web 服务器.50MB 的安全商用引擎以及极小的卡上服务器.但不管功能有何差异,所有的 Web…