RHCE--WEB服务器--HTTP服务

(一),web服务器

一,什么是web服务器

Web服务器一般指(网站服务器),是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。Web 服务器也称为 WWW(WORLD WIDE WEB 万维网)服务器,主要功能是提供网上信息浏览服务,Web服务器是可以向发出请求的浏览器提供文档的程序。

二,Web服务器工作原理
       首先要通过TCP协议的三次握手建立与目标Web服务器的连接,然后HTTP协议生成针对目标Web服务器的HTTP请求报文,通过TCP、IP等协议发送到目标Web服务器上。HTTP协议是基于TCP协议的应用层协议,用于用户代理和服务器之间的通信,Web服务器是被动的,只有终端客户发起请求时才会响应。web服务器一般是一次请求一次回应,一问一答的工作方式:用户代理发起资源请求,发起的通常(但不限于)是URL(统一资源标志符,Uniform Resource Identifier),发起动作类型GET/POST/DELETE/PUT等;用户代理解析URL获取目标域名,交由DNS解析(使用者通常提供的是域名或者IP:端口);建立TCP链接完成HTTP协商(完成双方的协议、内容格式、加密等);用户代理把请求的内容封装成HTTP数据包发送给服务器;服务器接收到资源请求后按照之前的协商解包数据;服务器将用户需要的内容打包成HTTP数据包并返回给用户,完成一次工作流程。

三,常见的web服务器

(www web http apache http server tomcat nginx IIS)
指网站服务器,是指驻留与因特网上某种类型计算机的程序,可以向浏览器等WEB客户端提供文
档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。
目前最主流的三个WEB服务器是Apache和Microsoft和Internet-信息服务器(Internet
Information Services,IIS)unix nginx。

四,www服务器的基本配置
服务器端:在linux上面实现网页服务器需要Apache这套服务器软件,httpd提供Apache主程序 http://httpd.apache.org/docs/2.4/
安装软件:httpd

 配置文件:
1. 主要的配置文件 /etc/httpd/conf/httpd.conf 。
2. 额外的参数文件 /etc/httpd/conf.d/*.conf 。
如果你不想要修改原始配置文件httpd.conf的话,那么你可以将你自己的额外参数文件独立出来,
例如你想要有自己的额外设置值,可以将它写入 /etc/httpd/conf.d/zhuji.conf (注意,扩展名一定是.conf),而启动Apache时,这个文件就会被读入主要配置文件当中了。
3. 默认的首页所在目录 /var/www/html/ ,当输入网址时所显示的数据,就是放在这个目录当中的首页文件(默认为index.html)。
4. 默认给一些可执行的CGI(网页程序)程序放置的目录 /var/www/cgi-bin/ ,当输入网址/cgi-bin/
时所显示的数据所在。
5. 默认的Apache日志文件都放在 /var/log/httpd/ ,对于流量比较大的网站来说,一个星期的日志
文件的数据可以达到1GB左右
 

设置防火墙状态
[root@localhost ~]# systemctl status firewalld
[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]#systemctl disable firewalld

重启服务
[root@localhost ~]# systemctl restart httpd
查看状态
[root@localhost ~]# systemctl status httpd | less

测试
在客户端:curl http://ip地址,curl -I 可以查看http报文信息
通过浏览器访问http://ip地址
五,实验
搭建静态网站——基于http协议的静态网站
实验一:搭建一个web服务器,访问该服务器时显示“hello world”欢迎界面。

实验二:建立两个基于ip地址访问的网站,要求如下:
1、该网站ip地址的主机位为100,设置DocumentRoot为/www/ip/100,网页内容为:this is 100。
2、该网站ip地址主机位为200,设置DocumentRoot为/www/ip/200,网页内容为:this is 200。
第一步,先添加两个ip地址

[root@localhost ~]#nmcli connection modify eno16777736 +ipv4.addresses
192.168.126.100/24 ipv4.gateway 192.168.126.1 ipv4.method manual
connection.autoconnect yes
[root@localhost ~]# nmcli connection modify eno16777736 +ipv4.addresses
192.168.126.200/24
[root@localhost ~]# nmcli connection up eno16777736


第二步,创建两个网页文件根目录,并定义网页内容

[root@localhost ~]# mkdir -pv /www/ip/{100,200}
[root@localhost ~]# echo this is 100 > /www/ip/100/index.html
[root@localhost ~]# echo this is 200 > /www/ip/200/index.html
[root@server html]# setenforce 0
[root@server html]# getenforce
Permissive


第三步,定义基于不同ip地址来访问网站的配置文件

[root@localhost ~]# vim /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf
[root@localhost ~]# vim /etc/httpd/conf.d/host.conf
[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# curl 192.168.126.200
this is 200
[root@localhost ~]# curl 192.168.126.100
this is 100
如果访问时显示的是apache默认的欢迎界面,则需要做如下操作:
[root@localhost ~]# setenforce 0

(二),HTTP服务

网址及HTTP简介
web服务器提供的这些数据大部分都是文件,那么我们需要在服务器端先将数据文件写好,并且放
置在某个特殊的目录下面,这个目录就是我们整个网站的首页,在redhat中,这个目录默认在 /var/www/html 。

浏览器是通过你在地址栏中输入你所需要的网址来取得这个目录的数据的
URL:Uniform Resource Locator,统一资源定位符,对可以从互联网上得到的资源的位置和访问
方法的一种简洁的表示,是互联网上标准资源的地址。
网址格式:<协议>://<主机或主机名>[:port]/<目录资源,路径>
浏览器常支持的协议有:http、https、ftp等
主机地址或者主机名:主机地址就是服务器在因特网所在的IP地址。如果是主机名的话,那么
就需要域名解析了

端口号(port):http为80/8080,https为443 (IANA:互联网数字分配机构)0-1023:众所周知,永久地分配给固定的应用程序使用,特权端口(只有管理员有权限启用并让进程监听)
1024-41951:亦为注册端口,但要求不是特别严格,分配给程序注册为某应用使用:
3306/TCP41952-60000:客户端程序随机使用的端口,动态端口,或私有端口
http请求方法:在http通信中,每个http请求报文都包含一个方法,用以告诉web服务器端需要执
行哪些具体的动作,这些动作包括:获取指定web页面、提交内容到服务器、删除服务器上资源文
件等。
状态代码:由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。
1xx:指示信息 —— 表示请求已接收,继续处理
2xx:成功 —— 表示请求已被成功接收、理解、接受
3xx:重定向 —— 要完成请求必须进行更进一步的操作
4xx:客户端错误 —— 请求有语法错误或请求无法实现
5xx:服务器端错误 —— 服务器未能实现合法的请求
常见状态代码、状态描述的说明如下:
200 OK:客户端请求成功
400 Bad Request:客户端请求有语法错误,不能被服务器所理解
401 Unauthorized:请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用
403 Forbidden:服务器收到请求,但是拒绝提供服务
404 Not Found:请求资源不存在,举个例子:输入了错误的URL
500 Internal Server Error:服务器发生不可预期的错误
503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常
505
HTTP报文:http报文中有很多行内容,这些行的字段内容都是由一些ASCII码串组成,但各个字段
的长度是不同的。http报文可分为两种,一种是从web客户端发往web服务器的http报文,称为请
求报文。另外一种是从web服务器发往web客户端的报文,称为响应报文
http请求报文
http请求报文由请求行、请求头部、空行和请求报文主体几个部分组成

http响应报文由起始行、响应头部、空行和响应报文主体这几个部分组成

 HTTP协议请求的工作流程
(1)终端客户在web浏览器地址栏输入访问地址http://www.ceshi.com:80/index.html
(2)web浏览器请求DNS服务器把域名www.ceshi.com解析成web服务器的IP地址
(3)web浏览器将端口号(默认是80)从访问地址(URL)中解析出来
(4)web浏览器通过解析后的ip地址及端口号与web服务器之间建立一条TCP连接
(5)建立TCP连接后,web浏览器向web服务器发送一条HTTP请求报文
(6)web服务器响应并读取浏览器的请求信息,然后返回一条HTTP响应报文。
(7)web服务器关闭HTTP连接,关闭TCP连接,web浏览器显示访问的网站内容到屏幕上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值