HTTP原理以及搭建

HTTP原理部分

一、web服务器
1、WEB服务器:指的是网站服务器,是在因特网上的某种计算机程序,可以向浏览器等web客户端提供文档,让全世界浏览和下载
2、目前主流的服务器是:Apache、Microsoft、Internet信息服务器,Unix NGINX
3、特点:

  • WEB服务器也称为WWW服务器(world wide web),主要功能是提供网上信息浏览服务。WEB服务器是可以向发出请求的浏览器提供文档的程序。
  • 服务器是一种被动程序:只有当Internet上运行其他计算机中的浏览器发出的请求时,服务器才会响应。
  • Internet上的服务器也称为WEB服务器,是一台在Internet上具有独立的IP地址的计算机,可以向Internet上的客户机提供WWW、Email和FTP等各种Internet服务。
  • 当WEB浏览器(客户端)连接到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP与客户机浏览器进行信息交流,这就是人们常把他们称为HTTP服务器的原因。
  • WEB服务器不仅能够存储信息,还能在用户通过WEB浏览器提供的信息的基础上运行脚本和程序。
  • 而Linux下的WEB服务器软件使用的是apache,开放源代码的apache服务器起初由Illinois大学Urbana-Champaign的国家高级计算程序中心开发,后来Apache被开放源代码团体的成员不断地发展和加强。逐渐,它开始在功能和速度上超越其他Web服务器。

二、HTTP(Hyper Text Transfer Protocal):超文本传输协议,是互联网上最广泛的一种网络协议,所用的WWW文件东必须遵守这个标准。
1、访问格式
http://域名/资源
http://IP地址:端口号
2、HTTP是应用层协议
3、HTTP协议的端口号是80、8080
4、URL:统一资源标识符
5、HTTP链接过程:
(1)客户端在web浏览器地址栏输入访问的地址http://www.baidu.com
(2)web浏览器请求DNS服务器域名www.baidu.com解析成web服务器地址
(3)web浏览器将端口号从访问地址url解析出来
(4)web浏览器通过解析后的IP地址及端口号与web服务器之间建立一条TCP连接
(5)建立TCP连接后,web浏览器向web服务器发送一条HTTP请求报文
(6)web服务器响应并读取浏览器请求的信息,然后返回一条http响应报文
(7)web服务器关闭HTTP连接,关闭TCP连接,web浏览器将内容显示在屏幕

请求的方法
在这里插入图片描述
响应是通过返回状态码来完成的
–200 正常,请求成功
–401 禁止访问,未授权(没有登录或者登陆失败)
–403 禁止访问,通常代表已认证通过,但没有访问权限
–404 未找到资源
–500 服务器内部错误(服务器内部出现问题,服务器内部故障,或者访问过多没有显
示就可能会出现500错误)
6、服务器提供网站的类型
静态网页:客户端只能服务服务器的内容,可以进行一些查看浏览等操作,和后台数据没有交互
动态网页:客户端可以和服务器的数据进行一些交互信息

HTTP搭建部分

1、安装HTTPD

[root@localhost ~]# yum install httpd -y

2、查看ect/httpd的子目录

[root@localhost ~]# tree /etc/httpd/
/etc/httpd/
├── conf#httpd的主要配置文件的目录
│   ├── httpd.conf#主配置文件
│   └── magic
├── conf.d#httpd的子配置文件目录
│   ├── autoindex.conf
│   ├── README
│   ├── userdir.conf
│   └── welcome.conf
├── conf.modules.d#模块化的配置文件
│   ├── 00-base.conf
│   ├── 00-dav.conf
│   ├── 00-lua.conf
│   ├── 00-mpm.conf
│   ├── 00-proxy.conf
│   ├── 00-systemd.conf
│   └── 01-cgi.conf
├── logs -> ../../var/log/httpd#httpd的日志文件目录
├── modules -> ../../usr/lib64/httpd/modules
└── run -> /run/httpd

配置注意事项:
(1)/etc/httpd/conf/httpd.conf主要配置文件
(2)/etc/httpd/conf/*.conf额外配置的参数文件,如果不想修改原始的/etc/httpd/conf/httpd.conf文件,那么就将/etc/httpd/conf/httpd.conf文件独立复制出来,在启动Apache时,这个文件会被读入主配置文件当中
(3)/var/www/html/这是默认的首页所在目录,当输入网址时所显示的数据,就是放在这个目录当中的首页文件默认为index.html

3、主配置文件的介绍

 31 ServerRoot "/etc/httpd" #服务器配置文件的根
 42 Listen 80 #默认监听80端口
 56 Include conf.modules.d/*.conf #读取主配置文件时,会加载conf.modules.d/下的所有.conf配置文件
 66 User apache #安装HTTPD后就会默认在root用户下创建一个APACHE用户,执行是由root执行的,但是进程是由APACHE用户来完成的
 67 Group apache #用户的所属组是Apache组
 86 ServerAdmin root@localhost #服务器的管理,出现问题将邮件发送给管理用户
 95 #ServerName www.example.com:80 建议修改为ServerName 0.0.0.0:80,若是不修改也不会影响服务的正常启动

# <Directory /></Directory>这类似HTML语言,这是一个容器,这里是对根的权限进行定义的
102 <Directory />
103     AllowOverride none #当访问根的时候,是否允许根目录下访问控制文件更改这里设置,这里是不允许
104     Require all denied #不允许访问web服务器的用户来访问根目录
105 </Directory>
119 DocumentRoot "/var/www/html" #访问网站首页目录
#<Directory "/var/www"></Directory>这个容器是对/var/www的目录权限进行定义的
124 <Directory "/var/www">
125     AllowOverride None #不允许别人的控制文件的权限来更改这里的权限
126     # Allow open access:
127     Require all granted #允许别人来访问这里的设置
128 </Directory>
#<Directory "/var/www/html"></Directory>这个容器是对/var/www/html的目录权限进行定义的
131 <Directory "/var/www/html">
144     Options Indexes FollowSymLinks #是否可以通过软连接的方式来访问真正的目录
151     AllowOverride None #不允许别人的控制文件更改这里的权限
156     Require all granted #允许别人来访问该目录
157 </Directory>
#定义访问/var/www/html/index.html
163 <IfModule dir_module>
164     DirectoryIndex index.html #定义默认目录下访问的文件是index.html文件,可以进行更改
165 </IfModule>
#AllowOverride None定义是否允许访问.ht*这些文件
171 <Files ".ht*">
17
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值