当前位置: 首页 > news >正文

【成为红帽工程师】第三天 web服务器

目录

一、www简介

二、网址及http简介

三、www服务器的类型

四、www服务器的基本配置

五、相关实验

一、www简介

 (一)什么是www

www是world wide web的缩写,也就是全球信息广播的意思。通常说的上网就是使用www来查询 用户所需要的信息。

(二)www所用的协议

HTTP超文本传输协议,是互联网上最广泛的一种网络协议,它是建立在TCP上一种的无状态连接。

(三)WEB服务器

指网站服务器,是指驻留与因特网上某种类型计算机的程序。目前最主流的三个WEB服务器是Apache和Microsoft和Internet-信息服务器unix nginx。

(四)主要数据

服务器所提供的最主要数据是超文本标记语言、多媒体文件。

(五)浏览器  

作用:解析服务器所提供的数据,最后将效果呈现在用户的屏幕上。

著名的浏览器就有内建在Windows操作系统内的IE浏览器,还有Firefox浏览器和Google的chrome浏览器。

二、网址及http简介

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

(一)网址格式:<协议>://<主机或主机名>[:port]/<目录资源,路径>

浏览器常支持的协议有:http、https、ftp等

主机地址或者主机名:主机地址就是服务器在因特网所在的IP地址。如果是主机名的话,那么就需要域名解析了。

(二)端口号(port)

http为80,https为443,DNS为53,DHCP为67、68

0-1023:众所周知,永久地分配给固定的应用程序使用,特权端口(只有管理员有权限

启用并让进程监听)。

1024-41951:分配给程序注册为某应用使用。

41952-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:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

(五)HTTP报文

HTTP报文由一些ASCII码串组成。http报文可分为两种,一种是从web客户端发往web服务器的http报文,称为请求报文。另外一种是从web服务器发往web客户端的报文,称为响应报文。

http请求报文,由请求行、请求头部、空行和请求报文主体几个部分组成。

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

(六)HTTP协议请求的工作流程

(1)终端客户在web浏览器地址栏输入访问地址。

(2)web浏览器请求DNS服务器把域名解析成web服务器的IP地址。

(3)web浏览器将端口号(默认是80)从访问地址(URL)中解析出来。

(4)web浏览器通过解析后的ip地址及端口号与web服务器之间建立一条TCP连接。

(5)建立TCP连接后,web浏览器向web服务器发送一条HTTP请求报文。

(6)web服务器响应并读取浏览器的请求信息,然后返回一条HTTP响应报文。

(7)web服务器关闭HTTP连接,关闭TCP连接,web浏览器显示访问的网站内容到屏幕上。

三、www服务器的类型

(一)仅提供用户浏览的单向静态网页

单纯是由服务器单向提供数据给客户端,Server不需要与client端有互动,所以你可以到该网站上去浏览,但是无法进行数据的上传。

(二)提供用户互动接口的动态网站

搭建动态网站的需求:

1. 可支持的操作系统:让所有需要的软件都能够进行安装。

2. 可运行的www服务器:例如Apache。

3. 网页程序语言:Perl(实用报表提取语言)、 PHP(超文本预处理器,是一种通用开源脚本语言)、JSP(Java Server Pages,java服务器页面)、CGI(公共网关接口)、 ASP(动态服务器页面)。

4. 数据存储的数据库系统 :MySQL、MSSQL、Oracle等。

四、www服务器的基本配置

(一)安装软件:httpd

命令:yum install httpd -y

查看:rpm -ql httpd 或者tree /etc/httpd

主要的配置文件:/etc/httpd/conf/httpd.conf 

(二)设置防火墙状态

systemctl status firewalld

systemctl stop firewalld

systemctl disable firewalld

(三)重启服务

systemctl restart httpd

(四)查看状态

systemctl status httpd | less

(五)排错

1、编辑httpd的主配置文件: vim /etc/httpd/conf/httpd.conf

2、将ServerName 改成0.0.0.0:80

3、重启服务

4、看状态显示正常

(六)测试

1、在客户端:curl http://ip地址。(curl -I 可以查看http报文信息)

2、通过浏览器访问http://ip地址。

五、相关实验

实验要求:在rhel8的系统上搭建网站:该网站ip地址主机位为11,设置documentroot为/www/zqk,网页内容为:my name is zqk。

(一)添加新的ip地址

c564dc0206074ed8a1fec8d4d21b18e8.png

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

ff0515eb2fcd4d43a1268bd73cbdad8d.png b057e63654e74d1287c8e3188ceea9fb.png

(三)定义访问网站的配置文件

04c51ecbf7ce4568b005487ee9ed08a7.png

(四)重启http服务

cff5420c1f6b45e9ab4b32bf148d32cb.png (五)查看是否能访问

8268a7a62fb747359f4aac2ebd55db46.png 都看到这里了,创作不易,大家点个赞再走呗!!( ˃̶̤́ ꒳ ˂̶̤̀ )

相关文章:

  • 【Node.js实战】一文带你开发博客项目(API 对接 MySQL)
  • 鸿蒙开发套件全面升级,助力鸿蒙生态蓬勃发展
  • HTML期末大作业——游戏介绍(HTML+CSS+JavaScript) web前端开发技术 web课程设计网页规划与设计 Web大学生网页成品
  • 读书笔记:《高频交易员》
  • HTML小游戏6 —— 《高达战争》横版射击游戏(附完整源码)
  • 【深度学习】第三章:卷积神经网络
  • 几款很好看的爱心表白代码(动态)
  • C语言百日刷题第六天
  • 表白爱心代码
  • linux无界面手敲命令笔记
  • OSPF高级配置——虚接口,NSSA
  • 一专多能、创新力十足,南大通用GBase8c数据库获鲲鹏创新应用大赛金奖
  • WordPress设置浏览器切换标签网站动态标题
  • Python检测和防御DOS攻击
  • linux基本指令(上)
  • [译]如何构建服务器端web组件,为何要构建?
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • extjs4学习之配置
  • JAVA SE 6 GC调优笔记
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • Linux后台研发超实用命令总结
  • Magento 1.x 中文订单打印乱码
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Python中eval与exec的使用及区别
  • SQLServer之创建显式事务
  • TCP拥塞控制
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 规范化安全开发 KOA 手脚架
  • 前端路由实现-history
  • 网络应用优化——时延与带宽
  • 一个JAVA程序员成长之路分享
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • 选择阿里云数据库HBase版十大理由
  • ​你们这样子,耽误我的工作进度怎么办?
  • # 飞书APP集成平台-数字化落地
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (ZT)出版业改革:该死的死,该生的生
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (转)创业的注意事项
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .Net mvc总结
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .skip() 和 .only() 的使用
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • @我的前任是个极品 微博分析
  • [ C++ ] 继承
  • [ vulhub漏洞复现篇 ] AppWeb认证绕过漏洞(CVE-2018-8715)
  • [ 数据结构 - C++] AVL树原理及实现
  • [20160807][系统设计的三次迭代]
  • [CSS]浮动