Apache httpd服务总结
1:Web服务器的操作[*]建立请求:接收或拒绝客户端的请求
[*]接收请求:获取http请求报文
[*]处理请求:解析请求报文并做出响应
[*]访问资源:访问请求报文中的相应资源
[*]构建响应:建立http响应报文
[*]发送响应:向客户端发送相应报文
[*]日志记录:将事务记录进日志文件
2:HTTP(Hyper Text Transfer Protocol,超文本传输协议)
常用方法
[*]GET:用URL发送参数(名称 -值),从远程服务器获取超文本数据到本地(类似只读)
[*]HEAD:和GET一样,但只显示头部信息
[*]POST:通过表单提交数据到服务器,例如提交用户、密码、检索登陆页面等,已有资源的修改或新资源建立,请求参数封装在数据当中(安全性高于GET)
[*]PUT:上传内容到服务器,进行创建 /更新
[*]DELETE:从远程服务器上删除文件
[*]OPTIONS、TRACE、CONNECT
常见状态码
[*]1xx:纯信息
[*]2xx:正确信息
[*]3xx:重定向信息:资源位置移动
[*]4xx:客户端错误
403:服务端拒绝访问404:资源不存在
[*]5xx:服务端错误
报文格式
[*]请求报文
请求头:例(GET /index.html HTTP/2.4)
请求头部:格式(关键字:头部),例(HOST:www.boxin.com)
空行:回车或换行,通知服务器以下内容没有请求头了
请求数据:在POST方法中使用,常用的有Content-Type和Content-Length
<method> <URL> <http version>
<headers>
<body>
[*]响应报文
<version> <status> <reason-phrase>
<headers>
<body>
3:Httpd 服务器架构模型 MPM(Multi-Processing Modules)
多协议处理模块:定义了web服务器响应多个请求的模型,一个master进程生成多个子进程
进程和线程区别:进程作为系统分配资源的基本单位可产生多个线程,线程作为独立运行和调度的基本单位
[*]prefork模型:预先生成多个进程,一个进程响应一个请求,最多响应1024个请求
稳定,不同进程相互独立,但处理并发能力差,资源消耗大(大量的进程切换)
[*]worker模型:启动多个进程,一个进程通过启用多个线程,一个线程程响应一个请求
看似处理性能提高了,但多个线程共享进程资源,当多个线程进行写入时会有冲突,须解决加锁问题,根据实际是否使用worker模型
[*]event模型(apache2.4之后默认):一个进程响应多个请求,不是通过线程实现
4:Httpd 的特点
5:Httpd 相关文件
页:
[1]