【Web】web
dns与域名
网络是基于tcp/ip协议进行通信和连接的
应用层——传输层——网络层——数据链路层——物理层
每一定的台主机都有一个唯一且固定的地址标识——IP地址
IP地址的做用:1.区分用户和计算机;2.进行通信
IP地址由32位二进制数组成,不方便记忆,因此发明了域名
dns解析:通过把域名解析成IP地址,方便通信
dns的解析方式:
1. /etc/hosts
负责快速解析的文件,包含了IP与主机名之间的映射关系,如果没有dns服务器的情况下,可以使用/etc/host文件来完成解析和映射
2. /etc/resolv.conf
dns客户端的配置文件,设置dns服务器的IP地址和域名,还包含了主机域名的搜索顺序,主要是域名解析服务器使用的配置文件
3. 修改网卡配置文件
ifcg-ens33
生效顺序:hosts——ifcg-ens33——resolve.conf
域名解析服务器
1.保持和维护域名空间
2.响应解析请求
解析端(客户端)
根域——顶级域——二级域——子域——主机名
注册域名:
准备材料(申请报备)——域名注册网站(注册)——正式使用
html:超文本语言;是一种规范的标准的语言格式
网页文件本身就是一个文本文件,html通过标记的方式,告诉浏览器如何显示文本当中的内容;
html文件是一个文本文件,所有能够生成txt文件的工具都可以进行编辑,修改之后的文件后缀名:.html或.htm
网页:由html编写的纯文本格式的文件;然后通过浏览器翻译成网页
网站:由多个页面组成,是网页的结合体;主页:打开网站后出现的第一个页面
域名:浏览网页时输入的网址
http/https
用来传输页面的通信协议,https加密,http不加密;两者都是一种基于tcp协议的通信协议
默认端口号:http 80,https 443
URL:万维网寻址系统
URL=https://域名+URI
https://www.bilibili.com/v/dance/?spm_id_from=333.1007.0.0https://域名:www.bilibili.comURI:/v/dance/?spm_id_from=333.1007.0.0
超连接:将网站中的不同页面连接起来
发布:兼职做好的网页上传至服务器,供用户访问
html的语法:
<html><head>头部</head><body>网页内容<body>
</html>
页面标签的链接地址:
<title> 定义了文档的标题
<base> 定义了页面链接标签的默认链接地址
<link> 定义了一个文档和外部资源之间的关系
<meta> 定义了 HTML 文档中的元数据
<script> 定义了客户端的脚本文件
<style> 定义了 HTML 文档的样式文件
内容当中常用的标签:
<table> 定义表格
<tr> 定义表格中的一行
<td> 定义表格当中某一行的一列
<img> 定义图片
<a> 超链接
<font> 定义字体
Web2.0 用户交互
静态页面和动态页面
静态页面就是标准的html文件,扩展名都是.htm或.html;里面可以包含图片,文本,声音和动画,是网站建设的基础
早期网站都是静态页面,没有后台数据,不包含可交互的内容;更新内容比较麻烦,一般用于展示型网站
静态页面的特点:
1.静态页面的URL是固定的,一般不含 ”?”
2.页面一经发布都是保存在网站服务器上的
3.静态页面相对稳定,内容很少发生变化,容易被搜索引擎检索到
4.没有数据库支持,制作和维护的工作量比较大;网站的信息量如果较大,单纯使用静态页面比较困难
5.没有交互性,只能看,功能上受限很大
6.不需要连接后端数据库,浏览速度很快
动态页面:
1.网页的URL是不固定的,用户可以和后台数据进行交互
2.动态页面的网址中一般会包含一个特殊标记——?
3.动态页面的语言:PHP、JSP、PYTHON、RUBY、TOMCAT(JAVA)
动态页面的特点:
1.交互性
2.自动更新,实时更新
3.特效;每个人进入页面时,会有不同的效果
http协议:
httpd程序名:apache(阿帕奇)服务名
http协议:超文本传输协议
基于tcp协议的应用层的传输协议,面向用户
客户端和服务端之间进行数据传输的一种规则
工作流程:
1.客户端和服务端进行tcp连接;三次握手——建立连接
2.客户端发生那个http强求,服务端接收到http强求之后,响应客户端的请求
3.通过socket端口进行通信
4.响应到达客户端,解析的过程(浏览器),用户查看、使用和访问
5.访问、使用、查看、结束之后断开连接——四次挥手
http是一种无状态的协议,本身不会对发送的请求和相应的通信进行持久化处理;链接保持是为了能够快速、大量进行处理事物,提高效率
连接保持是需要的:
cookie:记录用户的登录状态,跟踪统计用户访问网站的习惯,识别用户身份,保存用户信息,所占空间不大http协议本身自带的连接保持功能
http0.9 已淘汰
http1.0 基本淘汰
http1.1 自带连接保持功能,也叫长连接长连接:一次性获取页面的所有信息,不再需要分开处理请求
连接保持:keep-alive,在一个tcp连接上,可以传送多个http的请求和响应,减少了建立和闭环链接的消耗消耗和延迟
连接保持是有时间的,不是无限,默认开启为60连接资源占用:长时间爆出会降低服务器的负载,如果是高开发,会使服务器好景资源
连接状态管理:长连接需要维护连接状态,服务器需要跟踪每个连接的状态,增加服务器的负担(集群诞生)
http1.1——主流
https:加密通信协议,加密数据传输,加密过程涉及客户端和服务器之间进行密钥交换,确保只有合法的接收方能够解密数据
证书:https使用数字证书验证身份
加密解密会话对方速度有一定影响
http的请求方式:
1.请求头
请求头当中包含请求体
请求体当中的内容:
Accept:客户端可以接受的数据类型
Accept-Encoding:客户端可以接受的编码格式
Accept-Language:客户端可以支持的语言类型
Cache-Control:缓存时间,图片或者音频文件的缓存时间
缓存指的是保留本地的时间,再次访问时,就不需要再去服务端发起请求了,可以提高访问速度
Connection:告诉服务器处理连接请求,一般都是keep-alive,连接保持,默认65秒
keep-alive:告诉服务器,不立即关闭,保持连接一段时间
请求方式
2.响应头

请求方式:
get:向服务器发起请求,http协议中的get,就是请求
post:也是请求的一种,post是向后台发送数据;向服务器会添加数据,也可以改变服务器上的数据get方法:
1.从指定服务器获取数据
2.get请求可以被缓存
3.get请求会保存在浏览器的记录中,cookie
4.get请求的长度,是有限制的
获取数据:
post:也是一种请求,提交数据给服务器处理
1.post不能被缓存
2.post请求也不会被记录在浏览器的记录当中
3.请求体的长度也没有影响
状态码,响应码,服务器来进行提供的:
请求之后,服务器收到请求,会有一个回应,响应同时会反馈一个响应码
***请求状态的响应码
100-101 信息提示
200-206 成功;只要状态码是200,都是请求响应成功
300-305 表示重定向
400-415 客户端错误;请求失败,无法获取资源
500-505 服务端错误;响应失败;检查配置文件200 成功
301 请求的永久页面跳转
304 重定向到缓存
403 禁止访问
404 请求页面找不到
500 服务器内部错误
502 网关失效
503 服务不可用
504 网关请求超时
通信套接字:
socket: 实现不同主机进行通信和数据交换
进程间传输的标志:IP端口http协议当中,socket的作用:
1.客户机套接字:定义了唯一的客户端进程
2.服务端套接字:定义了唯一的服务器进程socket() 创建端口
bind() 绑定IP和端口
listen() 监听,等待连接
accept() 接受请求
connect() 请求连接建立
write() 放松
read() 接收
ESTABLISHED 连接已经建立,正在传输数据
close () 关闭连接
nc工具的模拟实验:
[root@test1 ~]# nc -l 888 #服务端服务端IP地址
[root@test2 ~]# nc 192.168.220.10 888 #客户端888:自定义端口号
相关文章:
【Web】web
dns与域名 网络是基于tcp/ip协议进行通信和连接的 应用层——传输层——网络层——数据链路层——物理层 每一定的台主机都有一个唯一且固定的地址标识——IP地址 IP地址的做用:1.区分用户和计算机;2.进行通信 IP地址由32位二进制数组成,…...
css中的bfc是什么?
什么bfc? BFC(Block Formatting Context)块级 格式化 上下文。 BFC就是页面上的一个隔离的独立盒子,容器里面的子元素和外面的元素不会相互影响。 为什么要bfc? bfc是我们去主动触发的,并不是自动就存在的,它是帮助我们解决cs…...
【前端知识】React 基础巩固(四十四)——其他Hooks(useContext、useReducer、useCallback)
React 基础巩固(四十四)——其他Hooks(useContext、useReducer、useCallback) 一、useContext的使用 在类组件开发时,我们通过 类名.contextType MyContext的方式,在类中获取context,多个Context或者在函数式组件中…...
华为云hcip核心知识笔记(数据库服务规划)
华为云hcip核心知识笔记(数据库服务规划) 1.云数据接库优势 1.1云数据库优点有: 易用性强:能欧快速部署和运行 高扩展:开放式架构和云计算存储分离 低成本:按需使用,成本更加低廉 2.云数据库r…...
【有趣的】关于Map的一些小测试
Map在代码中用到得非常多,它是无序的、key-value结构的,其读取会非常快。 今天看了个小文章Map判空 、空字符串、空key值等各种判断方法,你都掌握了吗?便自己也玩一下。 一、判空 因为对象已经new出来了,所以map指向的…...
【MATLAB第63期】基于MATLAB的改进敏感性分析方法IPCC,拥挤距离与皮尔逊系数法结合实现回归与分类预测
【MATLAB第63期】基于MATLAB的改进敏感性分析方法IPCC,拥挤距离与皮尔逊系数法结合实现回归与分类预测 思路 考虑拥挤距离指标与PCC皮尔逊相关系数法相结合,对回归或分类数据进行降维,通过SVM支持向量机交叉验证得到平均指标,来…...
AI 绘画Stable Diffusion 研究(二)sd模型ControlNet1.1 介绍与安装
部署包作者:秋葉aaaki 免责声明: 本安装包及启动器免费提供 无任何盈利目的 大家好,我是风雨无阻。 众所周知,StableDiffusion 是非常强大的AI绘图工具,需要详细了解StableDiffusion的朋友,可查看我之前的这篇文章: …...
接口参数设计原则
1. 不能太动态. 不相信客户端的原则 例如传递 filterFields , 推送一个表的某些字段给上游. 2. 可以服务端提供一些封装. 这个封装可以是写死的组合, 也可以是后端配置的. 最好的是 代码里的领域类bean 1,1对应一个名称. 可以是 classReference. 运营态有很多字段是给用户看的…...
网络安全防护利器:SK5代理与IP代理的技术对比
一、IP代理与SK5代理技术简介 IP代理: IP代理是一种通过中间服务器转发网络请求的技术。用户通过向代理服务器发出请求,代理服务器转发请求至目标服务器,然后将目标服务器的响应返回给用户。主要功能包括隐藏真实IP地址、绕过地理限制和IP封锁…...
IDEA删除本地git仓库、创建本地git仓库、关联其他仓库并上传
IDEA删除本地git仓库、创建本地git仓库、关联其他仓库并上传 删除本地Git仓库 创建本地Git仓库 关联其他仓库并上传 要在IntelliJ IDEA中删除本地Git仓库并创建新的本地Git仓库,以及关联其他仓库并上传,请按照以下步骤进行操作: 删除本地G…...
JavaEE简单示例——在使用Tomcat的时候可能出现的一些报错
简单介绍: 在我们之前使用Tomcat的时候,经常会出现在启动的时候因为一些报错导致项目无法正常的启动,我们就对一些比较常见的报错来看一下可能导致的原因,以及出现报错之后如何去解决。 严重: Failed to initialize end point a…...
webrtc的线程模型
目录 线程的声明 线程创建过程 向线程中投递消息 从消息队列中取消息的具体实现 处理线程消息 webrtc线程模块的实现逻辑在 rtc_base\thread.h 文件中 比如想创建一个线程: //声明要创建的线程指针,通过智能指针管理 std::unique_ptr<rtc::Thr…...
数据库备份还原-mysqldump、mydumper、xtrabackup、压缩
目录 数据库备份,数据库为school,素材如下 一、创建student和score表 二、为student表和score表增加记录 三、练习题 数据库备份,数据库为school,素材如下 一、创建student和score表 CREATE TABLE student ( id INT(10) NOT…...
【黑马程序员前端】JavaScript入门到精通--20230801
B站链接 理论 HTML相关知识【黑马程序员前端】 https://blog.csdn.net/m0_48964052/article/details/125951658 CSS相关知识【黑马程序员前端】 https://blog.csdn.net/m0_48964052/article/details/125951788 黑马程序员——JavaScript基础1(初识 JavaS…...
100道Java多线程面试题(上)
线程创建方式? 线程有哪些基本状态? 如何停止一个正在运行的线程? 有三个线程T1,T2,T3,如何保证顺序执行? 在线程中你怎么处理不可控制异常? 如何创建线程池? 以下情况如何使用线程池?高并发、任务时间短;…...
web开发中的安全和防御入门——csp (content-security-policy内容安全策略)
偶然碰到iframe跨域加载被拒绝的问题,原因是父页面默认不允许加载跨域的子页面,也就是的content-security-policy中没有设置允许跨域加载。 简单地说,content-security-policy能限制页面允许和不允许加载的所有资源,常见的包括&a…...
定了!全国2023下半年软考(高级、中级、初级)报名时间汇总
截止到2023年8月2日,有以下地区公布了软考报名时间: 安徽软考2023下半年报名时间:8月15日9:00至8月21日16:00 黑龙江软考2023下半年报名时间:8月16日至8月22日 甘肃软考2023下半年报名时间:8月28日9:00至9月6日18:00…...
Linux下安装配置Redis
文章目录 安装依赖库上传安装包并解压 启动默认启动指定配置启动开机自启 安装 依赖库 Redis是基于C语言编写的,因此首先需要安装Redis所需要的gcc依赖: yum install -y gcc tcl上传安装包并解压 将Redis安装包上传到服务器的任意目录,例…...
深度学习(33)——CycleGAN(2)
深度学习(33)——CycleGAN(2) 完整项目在在这里:欢迎造访 文章目录 深度学习(33)——CycleGAN(2)1. Generator2. Discriminator3. fake pool4. loss定义5. 模型参数量6…...
WeakMap and WeakSet(弱映射和弱集合)
在垃圾回收中了解JavaScript 引擎在值“可达”和可能被使用时会将其保持在内存中 let john { name: "John" }; // 该对象能被访问,john 是它的引用 // 覆盖引用 john null; // 该对象将会被从内存中清除通常,当对象、数组之类的数据结构在内…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...
数据库——redis
一、Redis 介绍 1. 概述 Redis(Remote Dictionary Server)是一个开源的、高性能的内存键值数据库系统,具有以下核心特点: 内存存储架构:数据主要存储在内存中,提供微秒级的读写响应 多数据结构支持&…...
RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上
一、软件介绍 文末提供程序和源码下载 RushDB 改变了您处理图形数据的方式 — 不需要 Schema,不需要复杂的查询,只需推送数据即可。 二、Key Features ✨ 主要特点 Instant Setup: Be productive in seconds, not days 即时设置 :在几秒钟…...
C++中vector类型的介绍和使用
文章目录 一、vector 类型的简介1.1 基本介绍1.2 常见用法示例1.3 常见成员函数简表 二、vector 数据的插入2.1 push_back() —— 在尾部插入一个元素2.2 emplace_back() —— 在尾部“就地”构造对象2.3 insert() —— 在任意位置插入一个或多个元素2.4 emplace() —— 在任意…...
