web服务器----基于http协议搭建的静态网站详解

 一,WWW的简介

1、什么是 www

       www 是 world wide web 的缩写,也就是全球信息广播的意思。通常说的上网就是使用 www 来查询用户所需要的信息。www 可以结合文字、图形、影像以及声音等多媒体,并通过可以让鼠标单击超链接的方式将信息以 Internet 传递到世界各处去。

       与其他服务器类似,当你连接上 www 网站,该网站肯定会提供一些数据,而你的客户端则必须要使用可以解析这些数据的软件来处理,那就是浏览器www 服务器与客户端浏览器之间的连接图。

 2、www 所用的协议

       HTTP 超文本传输协议(HyperText Transfer Protocal),是互联网上最广泛的一 种网络协议,所有的 WWW 文件都必须遵守这个标准。

3、WEB 服务器

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

 

4、主要数据

        服务器所提供的最主要数据是超文本标记语言(Hyper Text Markup Language, HTML)、多媒体文件(图片、影像、声音、文字等,都属于多媒体或称为超媒体),HTML 只是一些纯文本数据,通过所谓的标记来规范所要显示的数据格式。

 

 

5、浏览器

        客户端收到服务器的数据之后需要软件解析服务器所提供的数据,最后将效果呈现在用户的屏幕上。那么著名的浏览器就有内建在 Windows 操作系统内的 IE浏览器了,还有 Firefox 浏览器和 Google 的 chrome 浏览器。

 

 

二,http的版本经历了哪些版本,现在使用最流行的版本?

 http协议目前有4个版本,其中1.0、1.1版本在互联网上被广泛使用,2.0版本目前应用很少,是下一代的http协议。

  • http/0.9版本:1991年,原型版本,功能简陋,只有一个命令GET,只支持纯文本内容,该版本已过时。
  • http/1.0版本: 1996年5月,支持cache, MIME, method等。
  • http/1.1版本: 1997年1月,默认建立持久连接,并能很好地配合代理服务器工作。还支持以管道方式在同时发送多个请求,以便降低线路负载,提高传输速度。
  • http/2.0 版本: 2015年5月作为互联网标准正式发布,头部信息和数据体都是二进制,引入头信息压缩机制等。
  • HTTP3.0:谷歌开发的QUIC协议,利用UDP实现可靠数据传输。

 

 三,get和put的两种请求方式的区别

      get:1,获取,不会对服务器上的资源进行更新;只会查看。

               2,把请求参数(python,rhce),放在url,直接可以看到,

                      只能看到英文数字, 汉字被进行编码看到的是乱码。

               3,url肯定是有长度限制,不同浏览器的长度限制不一样。

 

      post:1,不会把数据放在url上,放在请求体上。

                 2,请求体的长度会远大于url。

                 3,会对服务器上的资源进行更新

 

 

四,网址及 HTTP 简介

1,URL:Uniform Resource Locator,统一资源定位符,对可以从互联网上得到的资源的位置和

             访问方法的一种简洁的表示,是互联网上标准资源的地址。

              url是uri的子集

 

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

               URL:  <协议>://<主机或主机名>[:port]/<目录资源,路径>

协议:http, https, ftp

主机或主机名:www.baidu.com/www.csdn.net/192.168.233.154

[:port]: 可以省略:使用默认值:80,443,21

路径: 协议+主机+port 相当于唯一定位到一个主机,具体的某一个服务 ; 实际上就是去

             访问一个资源

              web服务器:给我们提供了一个目录:来存放资源文件 -》 /var/www/html/

              http://192.168.233.154/index.html -> /var/www/html/index.html

路径参数

查询参数

片段: #片段的名字

3,状态代码:由三位数字组成,第一个数字定义了响应的类别,且有五种可能

      取值。

– 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:服务器当前不能处理客户端的请求,一

 段时间后可能恢复正常

 

 

4,http 请求报文

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

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

空行用来分割请求头部和请求数据

 

http报文结构:

请求报文结构

响应报文结构

 

5,MIME用它来描述数据并标记不同的数据内容类型。

        当 web 服务器响应 http 请求时,会为每一个 http 对象数据加一个 MIME 类型。当 web 浏览器获取到服务器返回的对象时,会去查看相关的 MIME类型,并进行相应的处理。

        MIME 类型存在于 HTTP 响应报文的响应头部信息里,它是一种文本标记,表示一种主要的对象类型和一个特定的子类型。

 

 

6,HTTP 协议请求的工作流程

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

(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 浏览器显示访问的网

          站内容到屏幕上。

 

 

7,www 服务器的类型

静态网页:在浏览器上存储是什么样子,访问到就是什么样子,不能修改

动态网页:要执行程序的,查询数据库(每个人访问的不一样),可以互动,修改

 

 

五,基于http协议的静态网站

配置一:

搭建一个web服务器,访问时显示"This is my first web page"

1,yum install httpd -y安装httpd服务

2,启动服务,并设置开机自启Systemctl start httpd

3,windows浏览器访问linux 的ip地址

通过windows访问linux web服务器

HTTP Server Test Page powered by CentOS

4,修改网站内容:

5,刷新浏览器将会看到输入的内容:

配置二:

修改监听端口号

1,使用命令vim /etc/httpd/conf/httpd.conf打开主配置文件

2,使用命令Listen 8080;表示默认监听所有IP的8080端口,保存并退出文件

3,使用命令systemctl restart httpd重启httpd服务

4,不加端口号访问的结果(修改主配置文件后默认访问8080端口)

5,加端口号访问的结果

配置三:

使访问192.168.233.154直接访问到 baidu.html界面

1,将baidu.html文件移动到linux  /var/www/html/下面

2,在配置文件中修改默认首页页面文件为baidu.html

3,重启服务

4,结果(如果状态码不对,须清除浏览器的缓存)

配置四:

当你访问192.168.233.154-> index.html ->找不到首页文件的时候,默认显示baidu.html

1,确保/var/www/html目录下面没有index.html文件

2,在配置文件中修改信息

Vim  /etc/httpd/conf.d/welcome.conf

3,修改配置文件

(1)可以修改error document (方法一)

(2)也可以修改别名(方法二)

4,注意要把文件移动到对应的目录下面

5,结果:

配置五:

配置基于不同IP的两个网站

1.增加两个IP

[root@wangjingjing httpd]# nmcli c modify ens160 +ipv4.address 192.168.206.133/24

[root@wangjingjing httpd]# nmcli c modify ens160 +ipv4.address 192.168.206.134/24

[root@manage html]# nmcli c up ens160

添加完成后记得up

2,使用命令[root@wangjingjing httpd]# ip addr show ens160查看ip是否存在

3,用windows测试ip是否生效

4,为两个ip创建两个目录

    192.168.206.131   /var/www/html

    192.168.206.133   /www/ip/133

    192.168.206.134   /www/ip/134

5,写配置文件

(1)使用命令cd /etc/httpd/conf.d/切换到配置目录下面

(2)新建myhosts.conf文件

(3)写配置文件并保存退出

6,重启httpd服务

7,添加首页文件到对应的网站目录

8,测试结果

配置六:

基于同一个IP(192.168.206.133)的不同端口(9090,9091)来访问两个网站

  1,确认了9090和9091没有被使用:ss -tnl

2,使用命令mkdir -p  /www/port/{9090,9091} 去创建两个网站的目录

3,输入ip直接访问,默认访问目录下的index.html文件,所以要创建index.html文件

[root@wangjingjing ~]# echo "This page is for port 9090" > /www/port/9090/index.html

[root@wangjingjing ~]# echo "This page is for port 9091" > /www/port/9091/index.html

4,写配置文件

     访问目录的权限

     ip加端口号  特定的IP才能生效

     监听端口

使用命令Vim /etc/httpd/conf.d/myhosts.conf打开文件写入配置文件

5,重启服务

6,查看结果

配置七:

建立两个基于域名访问的网站

两个主机名

www.230107.com

www.230106.com

1,Windows上搜powershell,以管理员身份运行;切换到drivers目录下面

2,再切换到当前路径下面的/etc

3,查看是否有hosts文件

4,使用notepad hosts命令打开配置域名(在最后两行)配置好,关闭保存。

6,用windows端ping两个地址;Ping通说明配置起作用

7,在linux中文件中配置域名

servername为域名

8,测试结果:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值