- 一次完整的http请求过程:
- (1) 建立或处理连接:接收请求或拒绝请求
- (2)接收请求:接收来自于网络的请求报文中对某资源的一次请求的过程
并发访问响应模型(web i/o):
单进程I/O结构:启动一个进程处理用户请求,而且一次只处理一个:多个请求被串行响应
多进程I/O结构:并行启动多个进程,每个进程响应一个请求
复用I/O结构:一个进程响应n个请求
多线程模型:一个进程生成N个线程,每个线程响应一个用户请求
事件驱动:event-driven
复用的多进程I/O结构:启动多(m)个进程,每个进程响应n个进程 - (3) 处理请求:对请求报文进行解析,并获取请求的资源及请求方法等相关信息
元数据:请求报文首部
host:www.magedu.com 请求的主机名称
connection: - (4)访问资源:获取请求报文中请求的资源
web服务器,即存放了web资源的服务器,负责向请求者提供对方请求的静态资源,或动态运行后生成的资源,这些资源放置于本地文件系统某路径下,此路径通常称为DocRoot
/var/www/html/
images/1.jpg
http://www.magedu.com/images/1.jpg
web服务器资源路径映射方式:
(a)docroot
(b)alias
©虚拟主机docroot
(d)用户家目录docroot - (5)构建响应报文
资源的MIME类型:
显示分类
魔法分类
协商分类
URL重定向:
web服务器构建的响应并非客户端请求的资源,而是资源另外一个访问路径 - (6)发送响应报文
- (7)记录日志
- http服务器程序:
httpd(apache)
nginx
lighttpd- 应用程序服务器:
IIS
tomcat,jetty,jboss,resin
webshpere,weblogic,oc4j
www.netcraft.com
- 应用程序服务器:
- httpd的安装配置及使用
- httpd:apache
a patchy server = apache
ASF:apache software foundation - httpd的特性:
高度模块化:core + modules
DSO:Dynamic Shared Object
MPM:Multipath Processing Modules
prefork:多进程模型,每个进程响应一个请求
一个主进程:负责生成n个子进程,子进程也成为工作进程,每个子进程处理一个用户请求:即便没有用户请求,也会预先生成多个空闲进程,随时等待请求到达,最大不会超过1024个
worker:多线程模型(多进程生成,一个进程生成多个线程),一个线程响应一个请求
event:事件驱动模型,一个线程响应多个请求
- httpd:apache
马哥Linux学习笔记20-4http协议及httpd基础
最新推荐文章于 2019-05-06 23:00:10 发布