HTTP超文本传输协议

HTTP:超文本传输协议
超文本(能够在文本之间实现跳转)
web:
http/0.9:纯文本(超链接)
HTML
浏览器
URI:统一资源标识符,全局范围
URL: 统一资源定位符,互联网上,
portocol://HOST:port/path/to/file
http/1.0:方法 GET PUT POST DELETE
引入MIME:多功能多用途互联网邮件扩展
将非文本数据在传输前重新编码文本格式,接收方能用相反的方式
将其重新还原为原来的格式,还能用相应的程序来打开此文件


动态网页:服务器端存储的文档非HTML,而是编程语言开发的脚本,
脚本接受参数之后在服务器运行一次,运行完成之后会生成HTML的
文档,把生成的文档发给客户端;


web--->portocol--->php(运行index.php)
执行脚本根web服务器无关


HTTP报文:请求报文,响应报文


请求报文语法:
<method><requess-URL><version>
<headera>
<entity-body>
响应报文语法:
<version><status>状态代码(                    <reason-phrase>进一步解释状态代码
1xx:纯信息
2xx:"成功"的信息<200>
3xx:重定向信息<301,302,304>
4xx:客户端错误信息<404>
5xx:服务器错误信息)


<headera>
<entity-body>


上面两个报文的第一行称作报文“起始行”,后面的标签格式的内容称作
首部域,每个首部域都由名称和值组成,中间逗号分隔,另外,响应报文
通常还有一个称作Body的信息主体,即响应给客户端的内容


web服务器的主要操作
1.建立连接--接受或拒绝客户端的连接请求
2.接受请求--通过网络读取HTTP请求报文
3.处理请求--解析请求报文并作出相应的动作
4.访问资源--访问请求报文中相关的资源
5.构建响应--使用正确的首部生成HTTP响应报文
6.发送响应--向客户端发送生成的响应报文
7.记录日志--当已经完成的HTTP事物记录进日志文件


tcp:三次握手,四次断开


HTTP/1.1:
增强了缓存功能


应用程序服务器
IIS
tomcat
Websphere(IBM,JSP)
Webblogic(Oracle,JSP)
JBoss(Redhat)
httpd:
实现创建进程
按需维持适当的进程
模块化设计,核心比较小,各种功能模块的添加(包括php)
支持运行配置,支持单独编译模块
支持多种方式的虚拟主机配置


虚拟主机
只有一台物理服务器,一个web服务器(却可以服务多个站点)
基于ip的虚拟主机  
基于端口的虚拟主机
基于域名的虚拟主机


先取消中心主机,注释中心主机document
定义:
<VirtualHost HOST>


</VirtualHost>


vim /etc/httpd/conf.d/virtual.conf
<VirtualHost 172.16.100.1:80>
ServerName hello.westos.com
DocumentRoot "/www/westos.com"
CustomLog /var/log/httpd/westos.com/access_log combined
</VirtualHost>


<VirtualHost 172.16.100.2:80>
ServerName www.a.org
DocumentRoot "/www/a.org"
CustomLog /var/log/httpd/a.org/access_log combined
</VirtualHost>


<VirtualHost 172.16.100.1:8080>
ServerName www.b.net
DocumentRoot "/www/b.net"
CustomLog /var/log/httpd/b.net/access_log combined
</VirtualHost>


NameVirtualHost 172.16.100.2:80
<VirtualHost 172.16.100.2:80>
ServerName www.d.gov
DocumentRoot "/www/d.gov"
CustomLog /var/log/httpd/d.gov/access_log combined
</VirtualHost>


mkdir -pv /www/{westos.com,a.org,b.net,d.gov}
cd /www/westos.com
vim index.html
<h1>westos.com</h1>


cd ../a.org
vim index.html
<h1>a.org</h1>


cd ../b.net
vim index.html
<h1>b.net</h1>
vim /etc/httpd/conf/httpd.conf
Listen 8080


cd .. /d.gov
vim index.html
<h1>d.gov</h1>
vim /etc/hosts
172.16.100.2 www.a.org
172.16.100.2 www.d.gov


cd /var/log/httpd/
mkdir westos.com a.org b.net d.gov


httpd -t


service httpd restart
ip addr 172.16.100.2/16 dev eth0


拒绝172.16.100.177访问172.16.100.2
vim /etc/httpd/conf.d/virtual.conf
<VirtualHost 172.16.100.2:80>
ServerName www.d.gov
DocumentRoot "/www/d.gov"
CustomLog /var/log/httpd/d.gov/access_log combined
<Directory "/www/d.gov">
Options none 
AllowOverride none
Order deny.allow
Deny from 172.16.100.177
</Directory>
</VirtualHost>
cd /etc/httpd/conf.d/
rm -fr welcome.conf


httpd -t
service httpd restart


访问a.org有证书
vim /etc/httpd/conf.d/virtual.conf
<VirtualHost 172.16.100.2:80>
ServerName www.a.org
DocumentRoot "/www/a.org"
CustomLog /var/log/httpd/a.org/access_log combined
<Directory "/www/d.gov">
Options none 
AllowOverride authconfig
AuthType basic
AuthName "Restrict area."
AuthUserFile "/etc/httpd/.htpasswd"
Require  valid-user
</Directory>
</VirtualHost>
htpasswd -c -m /etc/httpd/.htpasswd tom
htpasswd -c -m /etc/httpd/.htpasswd jerry
httpd -t
service restart httpd


设定默认虚拟主机
<VirtualHost 172.16.100.2:80>
ServerName _default_
DocumentRoot "/www/default"
</VirtualHost>
###写在最上面###
httpd -t
mkdir /www/default
vim /www/default/index.html
<h1>default</h1>


<Location /server-status>
SetHander server-status   ##显示当前服务器状态
Order allow,deny
Allow from all
</Location>
httpd -t
service restart httpd
访问172.16.100.1/server-status


支持https协议
支持用户认证
支持基于IP或主机的ACL
支持每目录的访问控制
支持URL重写


Apache安装:
rpm
源码编译


httpd:
/var/sbin/httpd
httpd: root root (master process)
httpd:apache apache(worker process)
/etc/rc.d/init.d/httpd
port:(80/tcp),(ssl:443/tcp)
/etc/httpd/   工作跟目录
/etc/httpd/conf 配置文件目录
主配置文件httpd.conf
/etc/httpd/conf/*.conf
/etc/httpd/modules 模块目录
/etc/httpd/logs -->/var/log/httpd  日志目录
/var/www/
html
cgi-bin


client-->httpd(index.cgi)-->spawn(index.cgi)-->httpd-->client
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值