http的工作原理包括4个步骤:
1.连接:浏览器与服务器建立连接打开一个socket(套接字)的虚拟文件,标志者连接的成功。
2.请求:浏览器向web提交post或是get请求。
3.应答
4.关闭连接。
apach的主要默认配置信息
1.主配置文件: /etc/httpdd/conf/httpd.conf
2.根文档目录: /var/www/html
3.访问日志文件/var/log/httpd/error[access]_log
4.apache 模块存放路径 /usr/lib/httpd/modules
主要配置参数:
servertype 分为standalone 请求结束后进程不消亡
xinetd 消亡
serverroot rpm 安装路径在/etc/httpd 源代码安装在 /usr/local/apach
port 监听的端口
uid和gid 服务器默认以这个身份和组运行,默认的话是nobody
serveradmin 和servername用于出错时返回
documentroot 文档目录的绝对路径
userdir用户的家目录
directoryindex 索引的文件名
timeout 用户连接网络超时时间,短影响服务质量,长影响性能
maxspireservers 最大空闲进程数,达到最大空闲数量的时候终止多余的空闲进程保持这个数量。
maxkeepaliverequests 每个连接的最大请求数,实际配置尽量调高,以获得较高的系统性能
keepalive和keepalivetimeout 是否保持会话,开启时可以使许多请求通过同一个tcp连接发送,节约网络资源和系统资源。
hostnamelookups 对客户端进行域名验证,是否开启或两次。
bindaddress 只监听来自某个ip地址
maxclient apache的最大连接数量
一)web服务访问控制
1.配置指令
order 表名用户是先设置允许的访问的地址还是拒绝的地址
allow,deny默认禁止所有,后者覆盖前者,同时满足取后者
deny,allow 相反
例子)order deny,allow
deny from all
allow from admin.org
除了admin.org域外拒绝所有主机的访问。
2。使用.htaccess文件做访问控制
1.启用并控制对.htaccess的使用
AccessFileName .htaccess
Order allow,deny
Deny from all
2.在.htaccess文件中使用指令进行控制
allowoverrides 指令指定.htaccess文件可以覆盖的选项
all 读取所有指令
none 禁止处理.htaccess
options 文件列出选项
fileinfo .htaccess文件包含修改文档类型信息的指令
authconfig 包含的验证指令
indexes 控制目录列表方式
limit 文件中包含的allow,deny,order指令
options指令:
none目录没有启用任何选项
all 启动除了multiview外所有选项
Indexes 当找不到可用文件后目录的文件列表作为html显示
Includes 允许服务器侧包含
followsymlinks 不安全,不用
execCGI 允许cGI程序
Multiviews 计算机自动匹配合适的用户请求文档
例子)
[root@localhost abc]# vim /etc/httpd/conf/httpd.conf
AccessFileName .htaccess
Order allow,deny
Deny from all
AllowOverride options
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# mkdir abc
[root@localhost html]# cd abc/
[root@localhost abc]# echo "a">a
[root@localhost abc]# vim .htaccess
options -Indexes
测试:没有启用.htaccess前
网页会把当前目录显示出来不安全
加上.htaccess后