1、httpd由来
httpd最初是由NCSA研发和维护的,后来这个机构解散之后,很多原来维护httpd的工程师觉得httpd这个软件很好用,所以就自愿通过互联网的方式继续维护httpd这个软件,其实也是打打补丁之类的工作。所以之后httpd被戏称为a patchy server(打满补丁的软件),简称为apache。后来apache发展为一个软件基金会ASF(apache software foundation),ASF底下维护了很多著名的项目,比如httpd、tomcat、hadoop等
备注:
a、早期的httpd就叫做apache,但是其实apache是一个软件基金会,这个基金会维护着很多著名的软件,httpd只是其中的一种
b、apache官方网站 www.apache.org,
httpd官方网站 http://httpd.apache.org(apache的子网页)
2、httpd特性
(1)事先创建进程(在用户请求之前已经创建好进程作为空闲进程,一旦有用户请求进来,就可以立刻把空闲进程分配给请求予以响应)
(2)按需维持适当的进程(一旦空闲进程太多,会把空闲进程销毁)
(3)模块化设计,核心比较小,各种功能模块化添加。支持运行时配置,单独编译模块即可。也可以在运行时启用,即装载响应的模块即可。
(4)支持多种方式的虚拟主机配置
(5)支持url重写(假如用户访问/a.jpg,可以通过转换使得用户去访问/b.jpg,这个过程对用户来说是不可见的)
(6)支持https(通过模块mod_ssl实现)
(7)支持用户认证(认证方式:简单认证、摘要认证、表单认证等)
(8)支持基于ip或主机名的acl(acl:访问控制列表)
(9)支持某目录的访问控制(访问网站不需要密码,但是访问特定目录的时候需要输入账号密码)
3、虚拟主机
(1)定义:web物理服务器和web程序都只有一个,但可以服务不同的站点
(2)种类:
a、基于ip的虚拟主机(ipv4地址资源比较紧缺,使用互联网ip来定义基于ip的虚拟主机不太现实)
b、基于端口的虚拟主机(在互联网上使用端口也不太现实,因为如果不使用标准端口的话,在互联网上很难知道web服务器到底是使用哪一个端口来提供web服务)
c、基于域名的虚拟主机(常用)
4、httpd与nginx比较
nginx是多进程响应n个用户请求的模型,使用有限的资源响应比httpd更多的用户请求,但是替代不了httpd
原因是:
(1)从提供众多特性这点来说,nginx是无法与httpd比较的
(2)稳定性也无法跟httpd比较
(3)一般nginx是用来做反向代理的,而httpd仍然是web服务的老大