http相关概念以及apache的功能(最详细讲解!!!!)

概念

互联网:是网络的网络,是所有类型网络的母集

因特网:世界上最大的互联网网络

万维网:www (不是网络,而是数据库)是网页与网页之间的跳转关系

URL:万维网使用统一资源定位符,描述了一个资源在服务器上的具体位置

/var/www/html  描述了login.html的所在位置

例:192.168.91.100 /     /是表示httpd软件的根,而不是91.100的根!!!

http:超文本传输协议,可以传输图片,视频,小程序。能实现此协议的有:apache,nginx,tomcat。

浏览器的访问过程

http协议 

MIME

 

如果在/etc/mime.types里面,则显示出来,如果不在此文件里面,则下载出来 

URI(i):统一资源标识,分别为URN、URL

URN:  统一资源命名,这个可以通过多个服务器下载,因为只要知道名字,哪台电脑都能下载

URL:   统一资源定位符,用于描述某服务器的具体位置,只能通过一台服务器下载

两者之间,是URN比URL的速度快

 

 URL的标准格式: 协议://(用户名:密码)基本省略 @主机名(www.jd.com:80端口号一般不写,默认80)/文件位置(192.168.91.100/a.jpg   表示描述访问这个主机的a的位置)?:表示查询

网站访问量

IP(独立ip):点击一次,统计一次

pv(点击量、访问量):页面浏览量,访问量 。用的最多

uv:独立访客

http请求访问的完整过程

 

http的工作机制

 

 

 静态资源与动态资源分开放,分为两个文件夹

 提高http连接性能

在接收请求中:

补充:长连接也称为持久连接,表示一次三次握手,下载多个资源,三次握手只要连上,就不断开了。 

 http协议版本

http 0.9 只有下载get,博客 qq都写不了

http 1.0 有上传也有下载,但是不支持长连接

http 1.1  有上传也有下载,支持长连接

httpd安装

yum安装的主配置文件在这,如果是编译安装,则主配置文件在自己设置的路径里面

http协议及报文头部结构

http请求报文

方法:get put ...一般是get

URL:文件路径

版本:http0.9  http1.0 http1.1

 例如使用telnet远程连接

这边的host属于头部信息,可以不加  

随后回车两遍

回车之后,可以看出test被下载出来

 

 响应报文

状态码

 

 举例说明:301

先进入配置文件中

访问192.168.91.101/test 就直接跳转到百度页面

打开网页,输入192.168.91.101/test  会直接出现百度

 接着关闭nginx

 再次输入192.168.91.101/test

还是会 出现百度页面,因为301是永久重定向

如果改成302

当 关闭nginx时,则不会出现百度页面,因为302是临时重定向

504:网关超时,因为处理时间过长,构建影响报文时间过长(因为客户寻求动态资源,nginx没有动态资源,因此要向java,php去要,这个过长耗时) 

面试题:如果网页访问不成功该如何处理?

1.先看状态码,看客户端还是服务端的问题 2.再看日志 

apache 

apache的功能:

无论是apache 还是nginx  对动态资源都不友好

apache的工作模式

prefork

 worker

 

event:事件驱动模型,centos8默认模型,会主动开启监听线程

 

MPM模式:修改工作模式 

 yum安装的httpd默认为prefork模式,如果要修改模式,可以通过mpm去修改

第二步,去修改此文件

可以看出,原本是prefork

prefork没有线程,只会开一个一个进程

如果要改成event,则将上面prefork注释掉

再进行查看pstree-p

 

httpd软件 

子配置文件 

 或者通过在主配置文件里面利用grep -i include找到子配置文件 子配置优先级高

 站点网页文档目录

 

打开另外一个终端,curl 192.168.68.3  就等于访问此IP地址下面 /var/www/html/index.html 这个地址

因为配置文件中写了 

如果在客户端,没有写你要访问的文件,则默认访问index.html

 

 http -t 检查语法错误

在配置文件中修改

 

修改成 功

修改配置文件 

修改配置文件,为了安全起见,要先做备份

1 监听地址

listen port 80

可以监听多个地址

例如

 

 

在另外一台服务器上面,curl一下 curl 192.168.68.3:80   192.168.68.3:9527

 

  

建立一个虚拟IP地址,也可以监听到

 查看listen配置

 在另一终端curl 192.168.68.111 还是可以访问的

或者将监听地址写入子配置文件中 以conf.d结尾的文件

将原本在主配置文件中的 listen 9527关闭 然后重新加载httpd文件

在另外一个终端测试一下,9527是否能访问,拒绝连接

随后,进入子配置文件中修改

在进入另外一个终端,curl192.168.68.3:9527

 

 

总结:在主配置文件中无法监听的端口号,也可以在自配置文件中添加,然后进行监听 

查看主配置文件里面的重要内容

 

随后在网页上输入ip+端口号 

2. 隐藏服务器版本信息 

另一个终端访问自己时是可以看见版本

在子配置文件中修改

先写一个子配置文件 vim /etc/httpd/conf.d/test.conf

 随后,在进入另外终端curl一下自己

持久连接

 第一步在子配置文件中去修改内容

KeepAlive On
KeepAliveTimeout 100
MaxKeepAliveRequests 2

第二步 修改文自配置文件,重启

 第三步在自己的服务端去创建3个文件

建立T T1 T2 三个文件

第四步 随后在另外一个终端去测试,先去下载telnet,去当做长连接

1 2 3 中间空格2次 

 

DOS加载动态模块设置

 

找到basic这模块,进行注释

 

 worker跟event模式的相关配置

指定开启进程数

此时系统开启5个进程

想要指定10个进程,则在主配置文件(子配置文件也可以)增加 startservices 10

定义Main server文档页面路径

默认的站点目录在/var/www/html 如果想修改

 需要再主配置文件中修改指明路径 +授权!

 

随后重启

 建立新的路径,并且给新路径写入文件

随后,在另外一个服务器去curl一下,成功

 

 别名 alias

同样要建立新路径,修改原路径,修改权限

在子配置文件中修改

如果没修改之前,test的位置在/var/www/中

 两者相同,访问192.168.68.100的test就等于访问192.168.68.100的/opt/blog

 然后在第二台主机上面curl,成功  test格式一定要注意

 定义站点默认主页面文件

 

 刚刚我们访问的是test,假设test下没有index..html文件

刚刚alias实验中,test的路径在/opt/blog中

所有再次切换里面,将index.html删除

进入网页,去访问一下test,出现forbidden是因为没有index.html文件 

紧接着,再拷贝点文件进入blog中

 进入子配置文件中去修改文件内容

最后检查并重启

 然后去网页访问192.168.68.3/test

默认没有允许软连接 

如果要添加软连接,还是在配置文件中修改

 虚拟主机

官方文档在/usr/share/doc/下

用于最多的就是域名

第一步,建立虚拟网卡

第二步进入子配置文件中修改(因为主配置文件内容太多,子配置文件清晰可见)

 修改权限

修改主机配置

 

保存后退出

然后去opt目录下建立html文件夹,再建立3/111的文件 

 

 弄好之后,在检查一下

最后,重启

 

在另外一台终端去测试

 

如果要是用端口号(IP地址一样,端口号不同)实验,其他步骤一样,只是在配置文件中 IP地址后面加上端口号

先打开监听端口号

 再另外一个终端测试,成功

使用域名 

在配置文件中修改,就将域名修改一下即可,其他操作一样

 随后重启

切换到第二台服务器,因为是域名,所以还要写一个域名解析

 

随后curl一下

基于客户端IP地址实现访问控制

黑名单

白名单

黑名单举例说明

 首先在子配置文件中修改

 保存退出后,建立/mnt/html ,并且写入内容

随后在另外一台终端查看,是可以成功的

让192.168.68.1的主机去访问192.168.68.3/test/  会被拒绝 所以成功

curl命令

 

 压力测试工具

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

图片如何降低kb?这个方法很方便

图片体积过大的话,有两种最简单的方法可以解决,最直接的就是压缩图片大小,降低图片kb,再就是修改图片尺寸让图片体积变小,这两种操作方式都可以在本文介绍的这款图片处理工具中完成,图片压缩对我们来说最主…

利用netty手写rpc框架

前言:利用netty异步事件驱动的网络通信模型,来实现rpc通信 一、大致目录结构: 二、两个端:服务端(发布),客户端(订阅消费),上代码: 1.服务端&am…

深入学习TS的高阶语法(泛型、类型检测、内置工具)

文章目录 概要一.TS的类型检测1.鸭子类型2.严格的字面量类型检测 二.TS的泛型1.基本使用2.传递多个参数3.泛型接口4.泛型类5.泛型约束6.映射类型(了解) 三.TS的知识扩展1.模块的使用-- 内置类型导入 2.类型的查找3.第三方库的类型导入4.declare 声明文件…

Javase-数组

文章目录 1.1 为什么要使用数组1.2 数组的定义及初始化1.3 数组的使用1.4 遍历数组1.5 数组在内存中的存储分析1.6 数组的传参1.7 数组的拷贝 1.1 为什么要使用数组 假设现在有一个任务,要你存储5个同学的学习成绩(double类型),这时候我们可以写出来 double score1 90.4…等五…

谷粒商城-nginx搭建域名访问环境性能压测

nginx搭建域名访问环境 正向代理与反向代理 正向代理:客户端向代理服务器发请求并指定目标服务器,代理向目标服务器转交请求并将获得的内容返回给客户端。 反向代理:用户直接访问反向代理服务器就可以获得目标服务器的资源。反向代理服务器…

Redis能保证数据不丢失吗?

引言 大家即使没用过Redis,也应该都听说过Redis的威名。 Redis是一种Nosql类型的数据存储,全称Remote Dictionary Server,也就是远程字典服务器,用过Dictionary的应该都知道它是一种键值对(Key-Value)的数…

基于机器学习、遥感和Penman-Monteith方程的农田蒸散发混合模型研究_刘燕_2022

基于机器学习、遥感和Penman-Monteith方程的农田蒸散发混合模型研究_刘燕_2022 摘要关键词 1 绪论2 数据与方法2.1 数据2.2 机器学习算法2.3 Penman-Monteith方程2.4 Medlyn公式2.5 模型性能评估 3 基于机器学习算法的混合模型估算农田蒸散量的评价与比较4 利用人工神经网络算法…

js使用import到本js文件中的函数时报错 Error [ERR_MODULE_NOT_FOUND]: Cannot find module

node:internal/process/esm_loader:97internalBinding(errors).triggerUncaughtException(^Error [ERR_MODULE_NOT_FOUND]: Cannot find module D:\桌面\Pagesizedetection\lib\screensize imported from D:\桌面\Pagesizedetection\index.js Did you mean to import ../lib/sc…

文件上传漏洞--Upload-labs--Pass09(在某些版本的靶场里是Pass10)--点+空格+点 绕过

一、什么是 点空格点 绕过 顾名思义,将 test.php 改为 test.php. . ,观察到后缀名php后多出了 点空格点。那么 点空格点 是如何进行绕过的,在什么情况下可以使用,让我们结合题目讲解。 二、代码审计 1、查看题目源代码上半部分&…

Nginx 配置前端工程项目二级目录

前提: 前端工程技术框架: vue 后端工程技术工程:spring boot 需求:需要通过二级目录访问前端工程: 如之前:http://127.0.0.1:80/ 改成 http://127.0.0.1/secondDirectory:80/ 一.前端工程支持二级目录 1.编译文…

CrossOver虚拟机软件2024有哪些功能?最新版本支持哪些游戏?

CrossOver由codewaver公司开发的类虚拟机软件,目的是使linux和Mac OS X操作系统和window系统兼容。CrossOver不像Parallels或VMware的模拟器,而是实实在在Mac OS X系统上运行的一个软件。CrossOvers能够直接在Mac上运行Windows软件与游戏,而不…

链表之“无头单向非循环链表”

目录 ​编辑 1.顺序表的问题及思考 2.链表 2.1链表的概念及结构 2.2无头单向非循环链表的实现 1.创建结构体 2.单链表打印 3.动态申请一个节点 3.单链表尾插 4.单链表头插 5.单链表尾删 6.单链表头删 7.单链表查找 8.单链表在pos位置之前插入x 9.单链表删除pos位…

力扣645. 错误的集合(排序,哈希表)

Problem: 645. 错误的集合 文章目录 题目描述思路复杂度Code 题目描述 思路 1.排序 1.对nums数组按从小到大的顺序排序; 2.遍历数组时若判断两个相邻的元素则找到重复元素; 3.记录一个整形变量prev一次置换当前位置元素并与其作差,若差等于2着说明缺失的…

一篇文章搞懂CDN加速原理

目录 一、什么是CDN CDN对网络的优化作用主要体现在以下几个方面: 二、CDN工作原理 CDN网络的组成元素: 三、名词解释 3.1 CNAME记录(CNAME record) 3.2 CNAME域名 3.3 DNS 3.4 回源host 3.5 协议回源 一、什么是CDN CD…

linux增加物理磁盘并挂载到文件系统

centos7增加物理磁盘并挂载到文件系统 1、查看所有磁盘情况 fdisk -l2、创建挂载路径 mkdir /data3、格式化磁盘 #磁盘filesystem(上图标红处) mkfs.xfs -f /dev/sda建议 与其它磁盘文件系统保持一致,我这里是xfs 可通过 cat /dev/sda查看 4、挂载 mount /dev/…

今日必读的9篇大模型论文

1.Customize-A-Video:文生视频,可以自由定制了 图像定制在文本到图像(T2I)扩散模型中已经得到了广泛的研究,并取得了令人印象深刻的成果和应用。随着文本到视频(T2V)扩散模型的兴起&#xff0c…

从零开始手写mmo游戏从框架到爆炸(二十一)— 战斗系统二

导航:从零开始手写mmo游戏从框架到爆炸(零)—— 导航-CSDN博客 上一章(从零开始手写mmo游戏从框架到爆炸(二十)— 战斗系统一-CSDN博客)我们只是完成了基本的战斗,速度属性并没有…

前端数据可视化:ECharts使用

可视化介绍 ​  ​  应对现在数据可视化的趋势,越来越多企业需要在很多场景(营销数据,生产数据,用户数据)下使用,可视化图表来展示体现数据,让数据更加直观,数据特点更加突出。   ​  数据可视化主要目…

读取7400MB/s!华为发布eKitStor Xtreme M.2闪存条

今日,华为举行数据存储新春新品发布会,不仅发布全新数据湖解决方案,华为还针对商业市场与分销市场发布了全闪存存储新品。 据介绍,面向游戏加速、影视编辑、户外作业等场景,华为发布eKitStor Xtreme系列高性能M.2闪存条…

Leetcode3035. 回文字符串的最大数量

Every day a Leetcode 题目来源:3035. 回文字符串的最大数量 解法1:哈希 排序 由于可以随意交换字母,先把所有字母都取出来,然后考虑如何填入各个字符串。 如果一个奇数长度字符串最终是回文串,那么它正中间的那…