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是什么?二、使用步骤 1.传送门2.前端vue3.后端springboot 3.1编写实体类(我这里是dto,也一样)3.2控制层结尾 前言 今天玩了一下springboot利用easypoi实现excel的导出,以前…...

【前端新手小白】学习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模式和桥接模式区别
一、环境介绍 宿主机:Windows电脑 虚拟机:VMware下的CentOS7 局域网:路由器下的各真实主机组成的网络 内部局域网:宿主机构建的一个内部网路 二、NAT和桥接网络链接模式区别 NAT模式:相当于宿主机构建一个内部局域网&a…...

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

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

【Point-LIO】基于Ubuntu20.04的ROS1平台的Point-LIO部署Mid-360激光雷达
0、前言 Mid360参数 1、代码拉取 2、代码编译运行 文件结构 编译流程: 1、先编译livox_ros_driver2 2、编译整个工程文件 3、运行launch文件(livox_ros_driver2) 成功启动: 3、实物运行 看得出来,在rviz…...

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

网络——HTTP与HTTPS三次握手和四次挥手
HTTP协议本身并不直接处理TCP连接的建立和关闭,这些是由底层的TCP协议来完成的。但是,由于HTTP通常运行在TCP之上,因此理解TCP的三次握手(用于建立连接)和四次挥手(用于关闭连接)对于理解HTTP通…...

ModelScope-Agent(1): 基于开源大语言模型的可定制Agent系统
目录 简介快速入门 简介 github地址 快速入门 看前两篇,调用千问API和天气API # 选用RolePlay 配置agent from modelscope_agent.agents.role_play import RolePlay # NOQArole_template 你扮演一个天气预报助手,你需要查询相应地区的天气&#x…...

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

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

MATLAB数学建模之画图汇总
MATLAB是一种强大的数学软件,广泛应用于工程计算、控制设计、信号处理等领域。在数学建模中,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连接池吧,是两台机器之间的连接,ip:port连接,然后具体的接口再添加具体的url吗? 具体的 HTTP 请求(包括 URL、请求方法、头部等)则是在复用的 TCP 连接上进行传输的。 是的,…...
nginx 自启动失败:Failed to parse PID from file: Invalid argument
记一次nginx自启动配置的问题 我的配置如下: [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.停用多余的音频,如Random Container的随机脚步声数量降为2个 3.背景音乐勾选“Stream”。这样就让音频从硬盘流送到Wwise,而不是保存在内存当中,也就节省了内存 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 的生命周期分为几个不同的阶段,每个阶段都对应着组件的创建、挂载、更新和销毁。以下是对 Vue 实例每个生命周期周期的具体场景描述: 创建前/后(beforeCreate / created) beforeCreate:在实例初始化之后&#x…...

Alibaba Druid(简称Druid)
目录 核心功能 数据源配置与管理: 高性能与可扩展性: 监控与SQL解析: 安全性: 应用场景 使用方式 配置示例 通过yaml方式配置 web.xml中配置 访问Druid的监控页面 监控页面展示 Alibaba Druid(简称Druid&am…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...