|
HTTP请求报文格式:
HTTP响应报文格式:
web服务器的主要操作:
1), 建立连接--接受或者拒绝客户端连接请求
2), 接受请求--通过网络读取HTTP请求报文
3), 处理请求--解析请求报文并做出相关的动作
4), 访问资源--访问请求报文中相关资源
5), 构建响应--使用正确的首部生成HTTP响应报文
6), 发送响应--向客户端发送生成的响应报文
7), 记录日志--当已经完成的HTTP事务记录进日志文件
响应状态代码分类:
x表示单个数字0-9
1xx : 纯粹信息,不常用
2xx :成功累的状态码
3xx :重定向类信息
301:永久重定向
302:临时重定向
304:没有发生任何改变
4xx :错误类错误,指客户端
5xx :服务端错误类信息
apache响应模型:
MPM 多道处理模块,定义apache在多个用户请求下响应处理请求的模型
prefork :一个请求一个进程响应
worker : 一个请求用一个线程响应
event :一个进程响应多个用户请求
/etc/sysconfig/httpd 里面定义使用apache使用模型
httpd 两种进程:
1)、naster process :主导进程,属主数组是root,进程号小于1024 ,不响应用户请求,
主要做创建空闲进程、销毁多余的空闲进程,系统上进程号小于1024的只有root用户能使用
2)、worker process :工作进程,属主数组都是apache,主要响应用户请求
3)、进程端口是tcp80 ,如果是基于ssl工作是 tcp443
apache的一些主要配置文件:
/etc/httpd/conf/httpd.conf 主配置文件
/etc/httpd/midules HTTPD的模块路径
/var/log/access_log 访问日志
/varlog/err_log 错误日志
/var/www/html 静态页面路径
/var/www/cgi-bin 动态页面路径
httpd 配置文件参数解释:
timeout tcp三次握手超时时间
KeepAlive Off|On 是否打开长连接, 在服务器访问量不大情况下开启能极大的提高性能
MaxKeepAliveRequests 100 限制长连接次数,0为无限制
KeepAliveTimeout 15 每次连接时长
listen 80 指定监听端口
LoadModule 指定启动时所加载的模块,根据跟人喜好不想加载注释掉即可
ServerName www.example.com:80 虚拟主机的名字和端口
DocumentRoot "/var/www/html" 网页文件存放目录,这个目录可以根据网页存放位置而改动
Options 定义目录中所有网页文件能够被访问时的访问属性
1),None 不支持任何选项
2),all 启用所有选项
3),Indexes 允许索引目录,这一项通常被关闭,因为此项开启将会把所有目录和文件列出来。非常危险
4),FollowSymLinks 允许符号链接指向的源文件,会降低服务器访问速度,通常关闭
5),ExecCGI 允许运行cgi 脚本
如果安装了此模块则支持用户是否能在家目录下创建网页
1),UserDir disable 开启说明禁止用户创建家目录
2),UserDir public_html 开启说明运行用户在家目录下创建
DirectoryIndex index.html index.html.var 定义默认访问主页文件顺序
AccessFileName .htaccess 每目录访问控制,会导致apache访问效率极低,一般都禁用
TypesConfig /etc/mime.types 让http协议支持传输多媒体文档 ,/etc/mime.types 定义多媒体文档的类型
DefaultType text/plain 如果没有定义多媒体传输类型 那么就启用默认的类型--简单的文本类型
HostnameLookups Off|On 记录访问日志, 如果是ON 会非常浪费资源,不建议启用On
ErrorLog logs/error_log 定义错误日志
LogLevel warn 日志级别
Alias /icons/ "/var/www/icons/" 访问路径别名, 通过http访问icons 可以直接访问 /var/www/icons/下的网页
Options:
- Options 定义目录中所有网页文件能够被访问时的访问属性
- 1),None 不支持任何选项
- 2),all 启用所有选项
- 3),Indexes 允许索引目录,这一项通常被关闭,因为此项开启将会把所有目录和文件列出来。非常危险
- 4),FollowSymLinks 允许符号链接指向的源文件,会降低服务器访问速度,通常关闭
- 5),ExecCGI 允许运行cgi 脚本
Ordee:
- Ordee:定义基于主机的访问功能的ip,网络地址或主机定义访问控制机制
- 1),允许所有人访问:# 2),拒绝某些用户访问:
- Order allow,deny # Order deny,allow
- Allow from all # Deny from 172.16.100.1 192.168.1.3
-
- 1),StartServers 8 服务器启动的时候开启多少个空闲进程
- 2),MinSpareServers 5 最少空前进程,随时保证有至少5个空闲进程接受用户请求
- 3),MaxSpareServers 20 最大空闲进程,最多保留20个,多了就浪费资源
- 4),ServerLimit 256 最多请求连接不得超过次数,这是上限值,如果想调大必须先关闭服务然后才能调
- 5),MaxClients 256 最多运行多少个请求连接
- 6),MaxRequestsPerChild 4000 每一进程最多能响应多少次请求,如果达到此值将被杀掉,重开新进程
-
-
- 1),StartServers 2 默认启动多少个进程
- 2),MaxClients 150 最多运行多少用户请求
- 3),MinSpareThreads 25 最少空闲线程
- 4),MaxSpareThreads 75 最大空闲线程
- 5),ThreadsPerChild 25 每一个进程最多可以生产多少个线程
- 6),MaxRequestsPerChild 0 每一进程最多响应多少请求,这个模型是用线程响应 所以是0
-
-
|
|
|