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

news2025/2/24 4:10:51

 一,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,测试结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/156536.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker容器搭建及基本使用

一、安装环境 操作系统&#xff1a;CentOS 7&#xff08;建议用7或以上&#xff0c;因为6版本有部分功能不兼容&#xff09; 二、Docker安装 1、卸载旧版本 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrota…

linux修改密码报错‘Authentication token manipulation error‘

本次事故使用操作系统为centos7 1、报错起因&#xff1a; 利用chage设置root用户密码定期更换后&#xff0c;到期之后登录系统&#xff0c;输入密码之后&#xff0c;提示要改密码&#xff0c;输入新密码之后&#xff0c;报错 ‘Authentication token manipulation error’ &a…

【k8s系列】gvisor安装与containerd集成

文章目录安装与containerd集成下发runtimeclass资源修改containerd配置文件准备pod的yaml文件参考资料author: ningan123date: ‘2023-01-11 21:23’updated: ‘2023-01-11 21:31’安装 安装地址&#xff1a;Installation - gVisor ARCH$(uname -m)URLhttps://storage.googlea…

Gotify <2.2.3 存在反射型 XSS 漏洞(MPS-2023-0815)

漏洞描述 Gotify 是 Go 语言开发的开源组件&#xff0c;用作于发送和接收消息的服务器。 由于 2.2.3 之前版本的 Gotify 使用具有反射型 XSS 漏洞版本的 swagger-ui 生成文档&#xff0c;当用户访问 Gotify /docs 页面时存在反射型 XSS 漏洞。 攻击者可诱导 Gotify 用户点击…

【学习笔记】【Pytorch】四、torchvision中的数据集使用

【学习笔记】【Pytorch】四、torchvision中的数据集使用学习地址主要内容一、datasets模块介绍二、datasets.CIFAR10类的使用1.使用说明2.代码实现学习地址 PyTorch深度学习快速入门教程【小土堆】. 主要内容 一、datasets模块介绍 介绍&#xff1a;一些加载数据的函数及常用…

P6:DataLoader的使用

1、准备数据集&#xff08;测试集&#xff09; import torchvisiontest_data torchvision.datasets.CIFAR10(./dataset, trainFalse, transformtorchvision.transforms.ToTensor()) 注意数据集中的图片是PIL的格式&#xff0c;需要格式转换。 2、使用DataLoader from torch…

HBase数据库总结(一)

1、 HBase的特点是什么&#xff1f;HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统&#xff0c;HBase不同于一般的关系数据库&#xff0c;它是一个适合于非结构化数据存储的数据库。1&#xff09;大&#xff1a;一个表可以有数十亿行&#xff0c;上百万列2&…

测试开发基础|一文搞定计算机网络(一)

计算机网络知识对测试人员来说是非常重要的基础技能。无论是在平时测试工作中&#xff08;比如接口测试&#xff09;&#xff0c;还是测试技术面试时&#xff0c;都会经常涉猎。很多基础薄弱的同学靠临时抱佛脚突击搜索学习&#xff0c;对系统知识和重点难点的理解总是不够透彻…

认证授权-SpringSecurity

认证授权-SpringSecurity 1. 认证授权概述 1.1 认证授权概念 1.1.1 认证 在互联网中&#xff0c;我们每天都会使用到各种各样的 APP 和网站&#xff0c;在使用过程中通常还会遇到需要注册登录的情况&#xff0c;输入你的用户名和密码才能正常使用&#xff0c;也就是说成为这…

uniapp引入vantweapp踩坑笔记

vue-cli创建uniapp项目引入vantweapp踩坑笔记 uni-app中引入vantweappvue-cli创建uniapp项目引入vantweapp踩坑笔记一、环境准备二、项目搭建三、引入vant第一种方式第二种方式一、环境准备 我用的环境分别是 软件名称版本号下载命令\链接检查是否成功卸载命令Vue-clivue/cli…

JavaScript中的重要概念

JavaScript中的重要概念 1、标识符 标识符&#xff08;Identifier&#xff09;就是名字。JavaScript 中的标识符包括变量名、函数名、参数名、属性名、类名等。 合法的标识符应该注意以下强制规则&#xff1a; 第一个字符必须是字母、下划线&#xff08;_&#xff09;或美元…

发表计算机SCI论文,需要经历哪些阶段? - 易智编译EaseEditing

想在SCI期刊上发表一篇属于自己的论文一定是要经历四个阶段&#xff1a;论文选题、论文写作、期刊投稿和修稿反馈。 1.论文选题&#xff1a;前面已经说过在SCI期刊上发表论文是比较有难度的&#xff0c;是因为SCI期刊通常要求所接收稿件的选题具有较高的创新性和新颖性。 所以…

马蹄集 单位矩阵

单位矩阵 难度&#xff1a;白银 0时间限制&#xff1a;1秒 巴占用内存&#xff1a;64M 输入3X3的整型矩阵A,判断是否为单位矩阵&#xff0c;输出YES或者NO。 格式 输入格式&#xff1a;输入矩阵&#xff0c;空格分隔 输出格式&#xff1a;输出YES或者NO #include<bits/stdc.…

第09讲:Docker镜像制作

我们可以在容器去部署应用&#xff0c;然后把容器转为镜像给测试人员用&#xff0c;由于镜像是不能直接传输的&#xff0c;所以我们将新的镜像转成压缩文件&#xff0c;给测试人员。测试人员把我们的压缩文件还原成一个新的镜像。 一、Linux文件系统组成 Linux文件系统组成由…

mysql快速生成100W条测试数据(2)公司员工信息

首先这个就是我们需要生成的数据类型&#xff0c;这种只是我们用于测试以及学习时候使用&#xff0c;正常来讲公司架构会比这个要复杂的多 #mermaid-svg-fxDINAOpv25PiDLG {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid…

数据库,计算机网络、操作系统刷题笔记31

数据库&#xff0c;计算机网络、操作系统刷题笔记31 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xff0c;oracle…

SpringBoot中JPA的基本使用

1、Jpa 是什么 JPA顾名思义就是Java Persistence API的意思&#xff0c;是JDK 5.0注解或XML描述对象&#xff0d;关系表的映射关系&#xff0c;并将运行期的实体对象持久化到数据库中。 2、优势 2.1标准化 JPA 是 JCP 组织发布的 Java EE 标准之一&#xff0c;因此任何声称符…

美国空运专线 美国空运专线时效多久

美国空运专线是国内到美国的优势渠道&#xff0c;为跨境卖家专门研发的货物海关清关快递/卡车配送的专线运输服务&#xff0c;范畴覆盖全部美国地区&#xff0c;各路经安排发货次数更高一些&#xff0c;时效更有保障。一、美国空运专线是什么 美国空运专线是专门将货物运送到美…

开学季如何运营跑腿系统?

现在学生们都在放寒假中&#xff0c;再过一段时间就又到开学季了&#xff0c;开学季是运营好跑腿项目的关键时刻&#xff0c;刚开学的时候如何让同学继续使用呢&#xff1f;这时候我们可以采取一些优惠政策来吸引同学&#xff0c;我们可以在后台设置一些优惠券&#xff0c;满减…

nacos1.4.0与seata搭建实现分布式物

下载nacos https://github.com/alibaba/nacos/tagshttps://github.com/alibaba/nacos/releases/tag/1.4.0下载seata https://github.com/seata/seata/releases/tag/v1.4.0注意&#xff1a;最好使用相同版本&#xff0c;不然出问题会找很久的 创建seata数据库 1.创建数据库导…