开发者社区> nothingfinal> 正文

apache服务器本质

简介: apache服务器本质上说是一个TCP socket服务,socket模型如下:   下面以worker MPM来说明apache代码中相应处理的位置在哪里: (以apache httpd 2.2.23版本的代码为基础) 1) 在第一次启动时验证配置没有异常时,创建了socket。
+关注继续查看

apache服务器本质上说是一个TCP socket服务,socket模型如下:

 

下面以worker MPM来说明apache代码中相应处理的位置在哪里:

(以apache httpd 2.2.23版本的代码为基础)

1) 在第一次启动时验证配置没有异常时,创建了socket。

 

 

2) open_logs 挂钩调用了 ap_setup_listeners() ,最终在listen.c的make_socket方法执行了apr_socket_bind/apr_socket_listen,进入通信的环节。

 

 

3) worker.c的监听线程中负责接受请求,然后利用ap_queue_push把相应的请求放入队列中。下面是接受请求accept_func的调用栈。

 

4)请求/响应的处理。

请求的处理是通过handler来实现,如果是读取服务器上的静态页面,则由default_handler来处理。同时响应的内容需要通过filter修改之后,最终发送header和body。下面是发送header的调用栈。

 

暂时写到这里,以后再继续分析。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
怎么在CentOS 8上安装启用Apache服务器
怎么在CentOS 8上安装启用Apache服务器
37 0
Metasploit -- 对Apache HTTP服务器守护进程中断复现
Metasploit -- 对Apache HTTP服务器守护进程中断复现
15 0
Apache HTTP服务器(Linux离线编译安装)
Apache HTTP服务器(Linux离线编译安装)
160 0
模拟 Apache 服务器|学习笔记
快速学习模拟 Apache 服务器
55 0
阿里云Ubuntu系统安装Apache服务器
阿里云Ubuntu系统安装Apache服务器
193 0
linux篇-centos7搭建apache服务器(亲测可用)
linux篇-centos7搭建apache服务器(亲测可用)
113 0
Linux学习笔记 27(Apache网站服务器)
1、 完成TCP/IP网络配置2、 配置IP地址和子网掩码3、 重启网络服务4、 查询Apache服务器是否安装5、 安装Apache软件6、 安装使用手册7、 启动Apache服务器8、 设置Apache为自动启动9、 默认发布地址10、 默认发布文件11、 默认监听端口的修改12、 重启服务13、 通过Windows 7 浏1、 完成TCP/IP网络配置2、 配置IP地址和子网掩码3、 重启网络服务4、 查询Apache服务器是否安览器,访问http://192.168.1.100:8080/,能否在网页中查看到输入的主页文件内容14、 默认发布目录修改15、 默认发布目录修改16、 基于
90 0
iOS Mac本地搭建Apache服务器
iOS Mac本地搭建Apache服务器
163 0
docker 下安装 nginx / apache / tomcat 常用服务器
安装 nginx 服务器 访问 nginx Tags | Docker Hub 可查看详情 https://hub.docker.com/_/nginx?tab=tags
97 0
RH358配置Web服务器--使用 Apache HTTPD 配置 HTTPS
RH358配置Web服务器--使用 Apache HTTPD 配置 HTTPS
100 0
RH358配置Web服务器--使用 Apache HTTPD 对虚拟主机进行配置和故障排除
RH358配置Web服务器--使用 Apache HTTPD 对虚拟主机进行配置和故障排除
96 0
RH358配置Web服务器--使用Apache HTTPD配置基本Web服务器
RH358配置Web服务器--使用Apache HTTPD配置基本Web服务器
104 0
去除thinkphp url中的index.php(web服务器是apache)
例如你的原路径是 http://localhost/yibuzhicheng/ index.php/Index/about.html 那么现在的地址是 http://localhost/yibuzhicheng/Index/about.html
89 0
apache漏洞 导致服务器被入侵的详情与漏洞修复
apache最近爆出的漏洞越来越多,旗下的solr产品存在远程服务器执行恶意代码漏洞,该漏洞产生的主要原因是因为apache dataimporthandler数据外部收集的一个端口模块,该模块支持从远程的地址进行通信,并多数据进行收集,正因为开放了远程地址,可导致攻击者构造恶意的代码对DIH进行脚本注入,从而让后端服务器对恶意代码进行了执行,该漏洞可导致服务器被攻击,被入侵,关于该漏洞的详情我们SINE安全技术深入的带大家来分析:
405 0
Windows 运行 Apache 服务器
Windows 运行 Apache 服务器
66 0
+关注
nothingfinal
软件开发,安全加密
文章
问答
视频
相关电子书
更多
Apache NiFi Crash Course Intro
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关镜像