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

news2024/11/24 18:01:07

概念

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

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

万维网: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命令

 

 压力测试工具

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

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

相关文章

GEE入门篇|遥感专业术语(实践操作1):搜索及查看图像集合信息

Earth Engine 的搜索栏可用于查找影像和定位重要内容有关 Earth Engine 中数据集的信息,让我们使用位于搜索栏上方的Earth Engine代码,用于查找有关 Landsat 7 集合 2 的信息原始场景。首先,在搜索栏中输入“Landsat 7 collection 2”&#x…

【Power Apps】实现一个简单的可编辑列表

简单来说,我们这次是要实现一个可以直接在列表上增加、修改、删除数据的功能。 大概就像这样。 之前我们都是拿列表做一个数据展示的功能,真要增加、修改、删除数据是在另一张表单上做的,我们这回要去掉另一个表单,直接在列表上做…

RabbitMQ学习整理————基于RabbitMQ实现RPC

基于RabbitMQ实现RPC 前言什么是RPCRabbitMQ如何实现RPCRPC简单示例通过Spring AMQP实现RPC 前言 这边参考了RabbitMQ的官网,想整理一篇关于RabbitMQ实现RPC调用的博客,打算把两种实现RPC调用的都整理一下,一个是使用官方提供的一个Java cli…

适用于生物行业的样本管理系统

在生物样本管理系统的应用中,我们首先需要了解生物样本的特点和要求。生物样本具有多样性和易变性,需要被妥善保存和跟踪,以确保其质量和可用性。 因此,一个有效的生物样本管理系统需要具备以下特点: 全面性&#xff1…

测试用例设计方法:招式组合,因果判定出世

1 引言 上篇讲了等价类划分和边界值分析法,而这两种方法只考虑了单个的输入条件,并未考虑输入条件的各种组合、输入条件之间的相互制约关系的场景。基于此短板,因果图法和判定表法应运而生。 2 因果图法 2.1 概念及原理 2.1.1 定义 一种…

外包干了两个月,技术退步明显。。。。。

先说一下自己的情况,本科生,19年通过校招进入广州某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

2024/02/23

使用消息队列完成两个进程间相互通信 A.c #include<myhead.h> struct msgbuf {long mtype;char mtext[1024]; }; //定义表示正文内容大小的宏 #define MSGSIZE sizeof(struct msgbuf)-sizeof(long)int main(int argc, const char *argv[]) {//创建一个key值key_t key;ke…

快速学习安全框架 Springsecurity最新版(6.2)--用户授权模块

简介 上一节Springsecurity 用户认证 Springsecurity 拥有强大的认证和授权功能并且非常灵活&#xff0c;,一来说我们都i有以下需求 可以帮助应用程序实现以下两种常见的授权需求&#xff1a; 用户-权限-资源&#xff1a;例如张三的权限是添加用户、查看用户列表&#xff0c;李…

springboot214基于springboot的多媒体素材库的开发与应用

多媒体素材库的设计与实现 摘要 近年来&#xff0c;信息化管理行业的不断兴起&#xff0c;使得人们的日常生活越来越离不开计算机和互联网技术。首先&#xff0c;根据收集到的用户需求分析&#xff0c;对设计系统有一个初步的认识与了解&#xff0c;确定多媒体素材库的总体功…

CentOS使用Docker搭建Halo网站并实现无公网ip远程访问

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&…

阿里云2024年优惠政策合集,你要的阿里云优惠政策都在这!

2024年阿里云优惠活动大全&#xff0c;包括阿里云服务器优惠活动清单、配置价格表、域名优惠活动、阿里云建站活动、阿里云优惠代金券免费领取、对象存储OSS活动、企业邮箱优惠、无影云电脑优惠、CDN特惠等等&#xff0c;阿里云百科aliyunbaike.com分享2024阿里云优惠活动大全_…

Linux RocketMQ 安装及卸载(附控制台搭建)

一、前言 在安装 RocketMQ 前需要确保 JDK 已安装并正确配置环境变量 二、下载安装 1.下载 下载 | RocketMQ 2.安装 # 打开存放目录 cd /usr/local # 创建目录 mkdir rocketMQ # 进入目录 cd rocketMQ # 把下载的压缩包上传到 rocketMQ 目录中 # 解压 $ unzip rocketmq-all-…

Elasticsearch:基于 Langchain 的 Elasticsearch Agent 对文档的搜索

在今天的文章中&#xff0c;我们将重点介绍如何使用 LangChain 提供的基础设施在 Python 中构建 Elasticsearch agent。 该 agent 应允许用户以自然语言询问有关 Elasticsearch 集群中数据的问题。 Elasticsearch 是一个强大的搜索引擎&#xff0c;支持词法和向量搜索。 Elast…

人工智能 — 数字图像

目录 一、图像1、像素2、图像分辨率3、RGB 模型4、灰度5、通道6、对比度7、RGB 转化为 Gray8、RGB 值转化为浮点数9、二值化10、常用视觉库11、频率12、幅值 二、图像的取样与量化1、数字图像2、取样3、量化 三、上采样与下采样1、上采样&#xff08;upsampling&#xff09;2、…

NOIP2018-J-4-对称二叉树的题解

原题描述&#xff1a; 题目描述 时间&#xff1a;1s 空间&#xff1a;256M 一棵有点权的有根树如果满足以下条件&#xff0c;则被轩轩称为对称二叉树&#xff1a; 1. 二叉树&#xff1b; 2. 将这棵树所有节点的左右子树交换&#xff0c;新树和原树对应位置的结构相同且…

【机器学习的基本术语和概念】

曾梦想执剑走天涯&#xff0c;我是程序猿【AK】 目录 简述概要知识图谱 简述概要 提示&#xff1a;简要描述文章内容&#xff0c;适合哪些人观看 知识图谱 样本&#xff08;Sample&#xff09;/实例&#xff08;Instance&#xff09;&#xff1a;在机器学习中&#xff0c;我…

vue-利用属性(v-if)控制表单(el-form-item)显示/隐藏

表单控制属性 v-if 示例&#xff1a; 通过switch组件作为开关&#xff0c;控制表单的显示与隐藏 <el-form-item label"创建数据集"><el-switch v-model"selectFormVisible"></el-switch></el-form-item><el-form-item label&…

AndroidStudio 2024-2-21 Win10/11最新安装配置(Kotlin快速构建配置,gradle镜像源)

AndroidStudio 2024 Win10/11最新安装配置 教程目的&#xff1a; (从安装到卸载) &#xff0c;针对Kotlin开发配置&#xff0c;gradle-8.2-src/bin下载慢&#xff0c;以及Kotlin构建慢的解决 好久没玩AS了,下载发现装个AS很麻烦,就觉得有必要出个教程了(就是记录一下:嘻嘻) 因…

❤ hexo主题+Gitee搭建个人博客

Hexo的基本使用 ​官网 官网地址&#xff1a;https://hexo.io/zh-cn/ Hexo是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown&#xff08;或其他渲染引擎&#xff09;解析文章&#xff0c;在几秒内&#xff0c;即可利用靓丽的主题生成静态网页。即把用户的markdown文件…

开源LLMs导览:工作原理、顶级LLM列表对比

目录 一、开源 LLM 是什么意思&#xff1f;二、开源LLM如何工作&#xff1f;2.1 预训练2.2 代币化2.3 开源LLM的微调2.4 输入编码2.5 训练与优化2.6 推理 三、开源LLM对组织的好处3.1 增强的数据安全和隐私3.2 节约成本3.3 减少供应商依赖性3.4 代码透明度 四、哪种LLM模式最好…