HTTP超文本传输协议

    xiaoxiao2021-12-14  40

    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
    转载请注明原文地址: https://ju.6miu.com/read-971801.html

    最新回复(0)