apache服务器工作原理,Apache服务器的原理简介

Apache是由模块组成的,除了内核模块以外,其他的模块都可以看作是Apache的一个补丁。http__core.c是最基本的,出足它惟一的内核模块,一个最小的Apache编译只包含这个模块,其他的动态模块是需要在配制文件中定义的二在Redhat L/nux中,只有http_core.c被编译进默认的Apache中,其余的都被编译成了so,可以被Apache动态加载。我们可以用httpd—l命令查看哪些模块被编译进Apache了。由于Apache这种模块结构,因此要想了解Apache的组织结构,必须了解Apache的这种模块式结构。要想了解Apache的模块结构,首先要明确Apache在处理请求时需要做的事情。下面是Apache处理一个请求的一系列步骤。

(1)  Filename translating (URL翻译):将URL翻译为一个带有路径的文件名,或者说转变为一个指定的文件链接。这通常由mod_alias、mod_rewrite、modl_userdir等模块来完成。

(2)  Auth ID checking(客户身份认证):对客户的身份进行确认,得到用户的基本信息,如客户是谁、从哪来、想要什么等等。

(3)  Auth access checking(客户权限检查):在客户通过了身份确认以后,并不代表客户有权利访问所要的资源,Apache还需要做进。步的权限认证,看他是否对某资源有访问的权限。这一步通常由mod aUth、mod auth dbm等模块来完成。

(4)  Determining MIME type ofthe object requested (MIME类型的检查):当权限检查完毕以后,说明可以响应该客户的请求了,这时,Apache开始处理客户请求的资源,并返回给客户。但是,客户要求的信息呵能是多种多样,这要求Apache对各种信息都能处理,比如对文本文本、HTML文件和GIF图片等,而且每一种处理都是不一样的。所以Apache会在这步中确认客厂一请求的资源类型,这步通常是由mod_mime模块来完成的。

(5) Fixups(修正):这个步骤不是必需的。Apache在处理某些应用时,可能需要延长一些时间,从而在服务器上做一些特定的操作。这一步可以使服务器延长一段处理时间,从而处理诸如设置环境变量之类的操作。

( 6) Actually sending a response back to rhc client(传送数据):当前面的步骤部完成后,Apache服务器可以开始传送数据。这也是客户真正关心的步骤。服务器根据请求资源的不同MIME类型而做小同的处理。比如,CGI程序将交山mod_cgi模块进行处理。Apache服务器针对每个请求会有三种不同的处理结果:

①请求通过,处理请求;②拒绝请求:③错误,返问一个错误码。

(7) Logging the request(记录日志):当Apache处理完成后,将启动一个日志模块执行日志写入操作。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值