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

web基础和http协议 附:nginx服务的安装

web基础和http协议:

https://www.baidu.com/

URL

https:// 协议

http://

www.baidu.com/ 域名

web介绍:

DNS和域名

DNS解析的方式:

1、运营商

2、/etc/hosts 人工配置的域名和ip地址之间的映射关系

3、/etc/resolv.conf dns服务器的ip地址 bind,内网解析域名和ip地址之间的关系

网页:

编程语言: HTML语言编译而成的前端页面

纯文本格式的文件

浏览器翻译纯文本格式的文件,便于用户进行浏览

网站: 由多个页面构成的,是网页的一个结合体。

首页: 网站在设计时,已经设计好了的,用户打开该站点默认的页面。

链接:

URL: https://www.baidu.com/

超链接: 将网站中的不同页面链接起来,形成一个内部的连接。

html: 编写网页的超文本的标记语言

发布: 域名,网页设计好,多个页面通过超链接连接在一起,形成网站,然后注册发布。

< title> 定义文档的标题

< base> 页面链接的默认地址

< meta> html文档中元数据

< script> 客户端的脚本文件

web:

world wide web 全球广域网 万维网
是一种分布式图形信息系统:

强大的网络基础设施

强大的硬件设备和市场能够接受的价格

web1.0 已淘汰

纯页面模式,单向行为。

web2.0:

更注重用户的交互,用户即是网站内容的消费者,同时也是网站内容的制造者。

静态页面:

文本格式的页面,是一个标准的HTML文件

文本,图像,声音,动画都属于页面的内容。也是静态页面

没有后台数据库,所有的信息是不可以交互。

相对更新起来比较麻烦,一般用于网贴的首页或者是展示型的网站

静态页面的URL是一个固定地址

动态页面:

网页是URL是不固定的,后台能够和用户进行交互

在动态网站的URL中,一般都有”?”

动态页面主要是和数据库进行交互

静态页面的特点:

1、固定的URL地址
2、页面就是一个纯文本的用HTML语言编译的文件
3、静态页面没有后台数据库
4、静态页面不能实现交互
5、访问速度快,更新起来比较麻烦

动态页面:

1、交互性 网页会根据用户的要求和操作进行响应,甚至改变页面的内容
2、自动更新
3、不同时间不同的人看到的页面会发生变化。

协议: 就是内容信息之间传播的规则和标准

cookie协议:浏览器提供的协议功能
cookie的信息不是保存在网站的,保存在浏览器本地,保存用户的登录状态,跟踪统计用户访问网站的习惯。
是一个很小的文件,主要的作用是保存用户的信息。

http协议:

超文本传输协议,客户端和服务端之间进行数据传输的一种规则。
http是应用层的协议,建立在传输层的tcp之上,客户端和服务端之间通过tcp协议建立连接,
应用层上使用http协议进行数据传输,通过指定端口来进行通信。

http建立连接的过程:

客户端和服务端通过tcp协议建立连接,客户端向服务端的80端口发送连接请求
三次握手的过程

http数据传输

客户端向服务端发送请求(http),http的请求

请求头和请求体

method: 客户端的请求方式 get post
path: 客户端请求的路径
scheme: 请求的协议 (https)
accept: 客户端请求之后,服务端需要响应客户端,客户端能够接受的数据类型
host: 显示请求客户端的ip地址
proxy-connection: keep-alive 告诉服务器如何对请求连接处理 keepalive
keepalive: 服务端响应请求,并且传输完数据之后,不要立刻关闭连接,保持连接一段时间 (tcp连接)
user-agent: 客户端请求的工具信息 (浏览器的信息)
http1.1新增的功能 http1.0......
响应头和响应体:
请求方法: GET
状态代码: 200

状态码: 指的服务端对客户端请求的响应结果。

1xx 信息提示

2xx 200-206

200 表示成功,客户端发送的请求服务端能够成功的处理

3xx 300-305

重定向

4xx 400-415

客户端错误

5xx 500-505

服务端错误

200 成功 请求成功

301 重定向 永久重定向

302 临时重定向

304 表示访问的是缓存

403 客户端没有权限访问服务端的页面

404 客户端请求的页面不存在

500 内部服务器错误

502 网关失效

503 当前服务不可用

504 网关请求超时

注:产生502(无效网关)的原因:

首先查看网络问题,看看数据包没有送到网卡;

如果有数据包,但是网卡没收到,可能是网卡问题或防火墙问题;

如果网卡接收到了,处理不了,查看服务器问题

c/s client server app---服务器

b/s browser server 浏览器----服务器

请求的方式:

get: get是客户端向服务端请求的默认方式,请求数据

get的请求是可以被缓存的

get的请求,请求字段的长度是有限制的

get的方式,请求的字段会显示再url中,不太安全

post: post是向服务端发送数据,是向服务端添加或者是修改数据

post的数据是没有办法进行缓存的

post的请求没有长度限制

post请求的查询字段在url中是不显示的

服务器处理请求,根据请求体当中的内容进行处理

服务器返回响应的数据,生成一个响应体,响应体包含状态码,表示服务器对请求的处理结果

数据传输,通过tcp建立的连接传输数据

数据传送完毕之后,连接关闭

https: 加密的http。加密的超文本传输协议。在数据传输之前要通过证书进行身份验证,验证通过才可以进行数据传输

http 80

https 443

nginx服务的安装

选择一个新建的虚拟机,选择nginx1.22版本,拖到opt目录下

 安装依赖环境

apt -y install libpcre3-dev zlib1g-dev libssl-dev build-essential

 

 添加用户程序

解压 

cd到此目录下,添加http协议

./configure --prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module

 用4核cpu加速安装,注意不到设置太多

此时,已安装完毕 

 

cd到/usr/local下,ll查看发现nginx的所有者和所在组都是root,我们要改成nginx

chown -R nginx:nginx nginx/ 换成nginx, ln -s做一个软链接到 /usr/bin/,让系统能够识别到

ln -s /usr/local/nginx/sbin/nginx /usr/bin/

 nginx -t 查看一下语法

 vim /lib/systemd/system/nginx.service 在此目录下添加系统配置文件

[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/run/nginx.pid
#注意文件位置,如果不对 启动不了
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 
#注意启动文件位置
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target

cd nginx,创建目录run,返回上一级,再修改一次所有者所在组chown -R nginx:nginx nginx/

 cd conf/   vim nginx.conf

修改pid号一行如图所示,

检查一下语法是否都正确

 systemctl daemon-reload 获取刚才service的配置文件

 

curl -I连接一下本机,成功

 

相关文章:

web基础和http协议 附:nginx服务的安装

web基础和http协议: https://www.baidu.com/ URL https:// 协议 http:// www.baidu.com/ 域名 web介绍: DNS和域名 DNS解析的方式: 1、运营商 2、/etc/hosts 人工配置的域名和ip地址之间的映射关系 3、/etc/resolv.conf dns服务器的ip地址 bind,内网解析域名和ip地址…...

springboot利用easypoi实现简单导出Excel

vue springboot利用easypoi实现简单导出 前言一、easypoi是什么&#xff1f;二、使用步骤 1.传送门2.前端vue3.后端springboot 3.1编写实体类&#xff08;我这里是dto,也一样&#xff09;3.2控制层结尾 前言 今天玩了一下springboot利用easypoi实现excel的导出&#xff0c;以前…...

【前端新手小白】学习Javascript的【开源好项目】推荐

目录 前言 1 项目介绍 1.1 时间日期类 1.2 网页store类 1.3 事件类 1.4 Number类 1.5 String类 1.6 正则验证类 1.7 ajax类 1.8 data数据类 1.9 browser浏览器类 2 学习js-tool-big-box开源项目时有哪些收获 2.1 你可以这样做 2.2 如果你需要使用本项目 2.3 你…...

CentOS7虚拟机 网络适配器 NAT模式和桥接模式区别

一、环境介绍 宿主机&#xff1a;Windows电脑 虚拟机&#xff1a;VMware下的CentOS7 局域网&#xff1a;路由器下的各真实主机组成的网络 内部局域网&#xff1a;宿主机构建的一个内部网路 二、NAT和桥接网络链接模式区别 NAT模式&#xff1a;相当于宿主机构建一个内部局域网&a…...

sql删除冗余数据

工作或面试中经常能遇见一种场景题&#xff1a;删除冗余的数据&#xff0c;以下是举例介绍相应的解决办法。 举例&#xff1a; 表结构&#xff1a; 解法1&#xff1a;子查询 获取相同数据中id更小的数据项&#xff0c;再将id不属于其中的数据删除。-- 注意&#xff1a;mysql中…...

STM32-C语言基础知识

C语言基础知识 stdint.h简介 给寄存器某个位赋值 给位6赋值为1流程&#xff1a;先清0&#xff0c;再赋值 带参数的宏定义 建议使用do {…}while(0)来构造宏定义 条件编译 条件编译后面必须跟宏语句&#xff0c;如#if _LED_H 指针使用常见的2大问题 1、未初始化 2、越界使…...

【Point-LIO】基于Ubuntu20.04的ROS1平台的Point-LIO部署Mid-360激光雷达

0、前言 Mid360参数 1、代码拉取 2、代码编译运行 文件结构 编译流程&#xff1a; 1、先编译livox_ros_driver2 2、编译整个工程文件 3、运行launch文件&#xff08;livox_ros_driver2&#xff09; 成功启动&#xff1a; 3、实物运行 看得出来&#xff0c;在rviz…...

02_Node.js模块化

02_Node.js模块化 知识点自测 以下代码运行的结果是多少&#xff1f; const arr [10, 20, 30] const result arr.map(val > val 1).reduce((sum, val) > sum val, 0) console.log(result) A&#xff1a;60 B&#xff1a;63 <details><summary>答案</…...

网络——HTTP与HTTPS三次握手和四次挥手

HTTP协议本身并不直接处理TCP连接的建立和关闭&#xff0c;这些是由底层的TCP协议来完成的。但是&#xff0c;由于HTTP通常运行在TCP之上&#xff0c;因此理解TCP的三次握手&#xff08;用于建立连接&#xff09;和四次挥手&#xff08;用于关闭连接&#xff09;对于理解HTTP通…...

ModelScope-Agent(1): 基于开源大语言模型的可定制Agent系统

目录 简介快速入门 简介 github地址 快速入门 看前两篇&#xff0c;调用千问API和天气API # 选用RolePlay 配置agent from modelscope_agent.agents.role_play import RolePlay # NOQArole_template 你扮演一个天气预报助手&#xff0c;你需要查询相应地区的天气&#x…...

开发知识点-uniCloud

开发知识点-uniCloud 服务空间云函数 cloudfunctions云对象importObjectJSON 格式的文档型数据库Collection unicloud数据的指定表集合 DB SchemaJQL 语法参考资料 服务空间 项目关联空间 云函数 cloudfunctions 云对象importObject JSON 格式的文档型数据库 nosql 非关系…...

Redis——主从复制原理

Redis的主从复制原理是其高可用性和分布式读取能力的重要基础。以下是Redis主从复制原理的详细解释&#xff1a; 一、主从复制的基本概念 Redis的主从复制是一种数据复制和备份的方式&#xff0c;它允许一个主节点&#xff08;Master&#xff09;将其所有的数据同步到一个或多…...

MATLAB数学建模之画图汇总

MATLAB是一种强大的数学软件&#xff0c;广泛应用于工程计算、控制设计、信号处理等领域。在数学建模中&#xff0c;MATLAB的绘图功能可以帮助我们直观地展示数据和模型结果。 1. 二维数据曲线图 1.1 绘制二维曲线的基本函数 plot函数用于绘制二维平面上的线性坐标曲线图&am…...

Milvus attu - docker 使用 及 版本兼容

文章目录 版本查看attu 和 milvus 的兼容性Docker 加载attu docker 合并到 Milvus文件管理使用 docker compose 挂在 Milvus,登录 attu 出现报错: Error: Failed to connect to Milvus: Error: 1 CANCELLED: Call cancelled 于是检查兼容问题 版本查看 Milvus 版本发布: htt…...

okHttp的tcp连接池的复用

okhttp的连接池是tcp连接池吧&#xff0c;是两台机器之间的连接&#xff0c;ip:port连接&#xff0c;然后具体的接口再添加具体的url吗&#xff1f; 具体的 HTTP 请求&#xff08;包括 URL、请求方法、头部等&#xff09;则是在复用的 TCP 连接上进行传输的。 是的&#xff0c…...

nginx 自启动失败:Failed to parse PID from file: Invalid argument

记一次nginx自启动配置的问题 我的配置如下&#xff1a; [Unit] DescriptionA high performance web server and a reverse proxy server Afternetwork.target[Service] Typeforking PIDFile/home/u24/nginx/pid/nginx.pid ExecStartPre/home/u24/nginx/sbin/nginx -t -q -g d…...

Wwise SoundBanks内存优化

1.更换音频格式为Vorbis 2.停用多余的音频&#xff0c;如Random Container的随机脚步声数量降为2个 3.背景音乐勾选“Stream”。这样就让音频从硬盘流送到Wwise&#xff0c;而不是保存在内存当中&#xff0c;也就节省了内存 4.设置最大发声数Max Voice Instances 5.设置音频…...

centos 常见问题处理

免密登录配置 # 在当前机器下 执行命令 生成 私钥和公钥 ~/.ssh 目录下 ssh-keygen -t rsa # 执行如下命令 把公钥 放到 对应机器上的 ~/.ssh/authorized_keys ssh-copy-id 172.17.68.220 # 如此 两台机器两两配置 centos ssh连接慢 vim /etc/ssh/sshd_config # UseD…...

简述Vue每个周期具体适合哪些场景?

Vue.js 的生命周期分为几个不同的阶段&#xff0c;每个阶段都对应着组件的创建、挂载、更新和销毁。以下是对 Vue 实例每个生命周期周期的具体场景描述&#xff1a; 创建前/后&#xff08;beforeCreate / created&#xff09; beforeCreate&#xff1a;在实例初始化之后&#x…...

Alibaba Druid(简称Druid)

目录 核心功能 数据源配置与管理&#xff1a; 高性能与可扩展性&#xff1a; 监控与SQL解析&#xff1a; 安全性&#xff1a; 应用场景 使用方式 配置示例 通过yaml方式配置 web.xml中配置 访问Druid的监控页面 监控页面展示 Alibaba Druid&#xff08;简称Druid&am…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分&#xff1a;机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域&#xff0c;衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标&#xff0c;自2002年由IBM的Kishore Papineni等人提出以来&#xff0c;…...

华为OD机试-最短木板长度-二分法(A卷,100分)

此题是一个最大化最小值的典型例题&#xff0c; 因为搜索范围是有界的&#xff0c;上界最大木板长度补充的全部木料长度&#xff0c;下界最小木板长度&#xff1b; 即left0,right10^6; 我们可以设置一个候选值x(mid)&#xff0c;将木板的长度全部都补充到x&#xff0c;如果成功…...

GraphQL 实战篇:Apollo Client 配置与缓存

GraphQL 实战篇&#xff1a;Apollo Client 配置与缓存 上一篇&#xff1a;GraphQL 入门篇&#xff1a;基础查询语法 依旧和上一篇的笔记一样&#xff0c;主实操&#xff0c;没啥过多的细节讲解&#xff0c;代码具体在&#xff1a; https://github.com/GoldenaArcher/graphql…...

软件工程 期末复习

瀑布模型&#xff1a;计划 螺旋模型&#xff1a;风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合&#xff1a;模块内部功能紧密 模块之间依赖程度小 高内聚&#xff1a;指的是一个模块内部的功能应该紧密相关。换句话说&#xff0c;一个模块应当只实现单一的功能…...