(计算机网络)应用层
1.为什么需要应用层
应用层提供使用tcp,udp使用的方式
协议就是制定的规则
2.域名服务器概述
域名是唯一的
新增域名,大家都要修改这个文本文件,所以要进行集中管理这个文本文件,而不是使用本地的hosts文件
hosts文件在Windows系统和Linux系统中相应的路径可以找到
该文件能帮助我们快速定位做出域名解析
从浏览器输入www.baidu.com时,浏览器先去本地的hosts文件当中找有没有www.baidu,com(域名),有的话直接跳到该ip地址,就不需要先访问本地的域名解析服务器,再去访问远程(这样就提升了效率)
像www.baidu.com其实是有层次的
域名系统DNS,是一个名称空间,具备分布式的能力,域名系统不能挂,所以用分布式的方式来部署
从浏览器输入www.baidu.com时,会先来到DNS这个域名解析服务器,域名服务器会将输入的内容转换成具体的百度服务器ip地址,对方的浏览器ip地址是有ip的。
对于域名的划分:
其中,.cn表示中国,.us美国,.uk英国 .edu教育部门,.gov表示政府部门
例如:
mail邮件服务 bbs论坛服务
四级域名为某一个功能模块或者是组织架构,前面的是隶属于某一个机构。
权限域名服务器用来做真正的解析(将www转换成ip地址)
域名不是以域为单位,而是以区为单位
默认是都在一起的,若常用,独立划分出来成为一个单独的区,是一个独立的域名服务器,做成独立的一台服务器。
3. 域名解析过程
域名服务器分为四种,是根据等级来划分的
对于顶级的域名服务器
一个区就有一个权限域名服务器,主要的作用就是用来解析的。
A会将数据同步给B主机,若在这个过程中,若有DNS的请求发送给B,这样的请求允许发生吗?
若允许发生,这样的数据是不准确的,为了保证数据的一致性,所以不允许发生。
对于主机而言,在做递归查询,请别人帮忙,对本地域名服务器,在做迭代查询,主动完成
冷门数据没有被访问,就删除。热点数据:经常被访问,只有热点数据一直保存在缓存里面。
4.万维网要解决的问题
网站有多个页面所构成,或是说有很多多媒体所组成,集合在一起,成为一个站点,资源可以相互跳转---使用超链接来实现
超文本:不止包含文本信息,还能包含除了文本以外的其他信息(图文声像)
最重要的特点就是:跳转
从浏览器向服务器请求超文本资源(文字 图片声音等等)资源会从服务器发送到浏览器
浏览器的身份就是一个客户端
能成功返回:前提是要能找到资源
tomcat(用javaweb开发) nginx(静态资源服务器 服务器性能较好 响应速度快)
URL(统一资源定位符)--标识互联网文档 相当于文件的身份证号
UDP发送对方就不会响应
事实上服务器上有很多html页面
5.URL的概念
网页上面输入的网址,其实就是URL
其中:80端口是默认的端口,可以不写 URL中http没有时默认会自动带上 www也是不写也没有关系 其中,index.html是主页,当没有其他地址,默认展示这个
6.http协议
当请求和响应完整的结束,TCP连接就会被释放
点击--跳转--(完成的是超链接的功能)--相当于浏览器又向服务器发起了一次请求最终获得
7.cookie的实现原理
无状态:就是没有记录上一次请求留下的数据
cookie是客户端的会话技术 会话就是客户端和服务器的一次交互
客户端和服务器的交互产的数据可以保存下来
cookie(保存在客户端的本地) session(保存在服务器的本地)
若是使用了cookie技术,客户端就需要开辟一段空间来保存这一次交互所产生的数据
若是使用了session技术,服务器就需要开辟一段空间来保存这一次交互所产生的数据
使用cookie的流程:
转账操作:同时成功或者同时失败
这些动作是不能再被分割的整体
一次的请求和响应是一个RTT
客户和服务器要去发送请求,整个过程需要三次握手:
第一次握手:客户端发送请求给服务器
第二次握手:服务器返回响应
第三次握手:客户端将请求的报文带给服务器
最后服务器将客户端需要的资源传回客户端
所需时间:三次握手+最后传输文档所需的时间
8.持续连接
版本为1.1的http就使用了持续连接
但是会存在一些问题:
流水线的出现,大大提升了利用率
解决方法:
当客户端收到12395的时候,就相当于服务器告诉浏览器响应结束了
9.代理服务器
很好的提高性能的方式:代理服务器
代理的意思就是帮助做一些事情,提供代理服务
代理服务器:代表你来发送http请求(相当于房屋中介,你只需提出要求)
代理服务器:又称万维网的高速缓存
流量强度<1--说明性能是不错的,流量在局域网里面是能够被承载下来的
若没有使用代理服务器,就会有一定的弊端:
链路时延较长,如何解决?--
使用代理服务器,所有的请求都会发送给代理服务器,由代理服务器去代理这次请求。
例如A向服务器发起请求,A会先将需求告诉代理服务器,然后由代理服务器去发起请求
代理服务器的好处:就是一个高速缓存(响应的资源会放到代理服务器内部)
若是B也想访问那个服务器,直接先访问代理服务器,这样就减少了链路上的流量
但是在这个过程中,代理服务器也会访问服务器,但是会带一个最后修改时间,如果和服务器的时间相同,服务器会返回一个响应304(不会给你资源了,直接使用你缓存的就可以)
若服务器的最后修改时间是最新的,这时,服务器就会返回最真实的页面给客户端,此时,状态码就成为200.这样就减少了链路上的浏览压力。
服务器中存储最后一次修改时间
10.http协议的请求报文
请求首部--请求头(里面放的是键值对的信息)--一个名称对应一个值(表示一个属性和属性值)
报文:由请求行,请求头,请求体组成
post请求:新的资源的建立,已有资源的修改
11.http响应
相关文章:

(计算机网络)应用层
1.为什么需要应用层 应用层提供使用tcp,udp使用的方式 协议就是制定的规则 2.域名服务器概述 域名是唯一的 新增域名,大家都要修改这个文本文件,所以要进行集中管理这个文本文件,而不是使用本地的hosts文件 hosts文件在Windows系统…...

使用3DUNet训练自己的数据集(pytorch)— 医疗影像分割
代码:lee-zq/3DUNet-Pytorch: 3DUNet implemented with pytorch (github.com) 文章<cicek16miccai.pdf (uni-freiburg.de)3D U-Net: Learning Dense Volumetric Segmentation...

【python】—— Python爬虫实战:爬取珠海市2011-2023年天气数据并保存为CSV文件
目录 目标 准备工作 爬取数据的开始时间和结束时间 爬取数据并解析 将数据转换为DataFrame并保存为CSV文件 本文将介绍如何使用Python编写一个简单的爬虫程序,以爬取珠海市2011年至2023年的天气数据,并将这些数据保存为CSV文件。我们将涉及到以下知识点: 使用r…...

U盘文件及文件夹带锁修复
磁盘管理修复工具Disks磁盘管理–针对U盘文件及文件夹带锁修复 本文章只针对统信系统 文章目录 功能概述一、安装工具二、数据备份三、检查文件系统1. 通过启动栏中的“磁盘”或者桌面的“磁盘”启动文件来启动应用:2. 选择U盘设备3. 点击“检查文件系统”按钮(如果无此按钮…...

AnyChart 数据可视化框架
AnyChart 数据可视化框架 AnyChart 是一个灵活的 JavaScript(HTML5、SVG、VML)图表框架,适合任何需要数据可视化的解决方案。 目录 下载并安装开始插件将 AnyChart 与 TypeScript 结合使用将 AnyChart 与 ECMAScript 6 结合使用技术集成贡献…...
ARM base instruction -- br
BR Branch to Register branches unconditionally to an address in a register, with a hint that this is not a subroutine return. 无条件地分支到寄存器中的一个地址,并提示这不是子例程返回。 BR <Xn> BR 跳转到reg内容地址,不会将返回地址…...

编译原理/软件工程核心概念-问题理解
目录 1.程序的编译执行过程 2.指针和引用的区别 3.堆和栈的区别 4.最熟悉的编程语言- Python:介绍PyTorch和TensorFlow框架 5.C与C的区别 6.软件工程是什么? 7.简述瀑布模型 8.敏捷开发方法是什么?它与瀑布模型相比有哪些优势和劣势 1…...

学习pyqt5相关知识回顾
1. 模块 1.1 import导入 1) 模块:是一系列功能的集合体,模块名.功能名,就可以使用模块的功能 2) 首次导入模块,就会立即执行模块里面的内容 3) 当前名称空间会产生一个名字module,指向module.py产生的名称空间.我们可以使用module.name/函数名,来调用module.py里面的内容. …...
OPENAIGC开发者大赛高校组银奖 | LonAC中小学编程学习平台
在第二届拯救者杯OPENAIGC开发者大赛中,涌现出一批技术突出、创意卓越的作品。为了让这些优秀项目被更多人看到,我们特意开设了优秀作品报道专栏,旨在展示其独特之处和开发者的精彩故事。 无论您是技术专家还是爱好者,希望能带给您…...
oneclick 命令:快速筛选控制变量的利器
目录 1. 命令语法2. 结果输出3. 使用示例4. 总结 在进行回归分析时,选择合适的控制变量对于确保模型的稳健性至关重要。然而,手动筛选变量组合不仅费时费力,还容易出错。为此,Stata 中的 oneclick 命令提供了一个高效的解决方案&a…...
Kotlin 代替Java接口回调,就这么简单
假如你使用旧的接口回调: 通常三步:1 定义接口和方法;2 使用接口中方法;3 继承接口并实现方法; 例: class XXXAdapter{public var mClickCollBack: clickCollBack? null //1定义interface clickColl…...

Codeforces Round 971 (Div. 4)——C题题解
本题的大意是一个青蛙从原点开始跳格子(0,0),最终要跳到点(x,y)去,并且每一步的步长不能超过k,问最短几步可以跳到终点 分析: 本题利用贪心思想,肯定是先跳最大的步长这样总体用的步数最长 代码演示: #inc…...

【论文阅读笔记】Tackling the Generative Learning Trilemma with Denoising Diffusion GANs
【论文阅读笔记】Tackling the Generative Learning Trilemma with Denoising Diffusion GANs Introduction方法 使用传统GANS建模去噪分布理解模式覆盖率 Paper:https://arxiv.org/abs/2112.07804 Code:https://github.com/NVlabs/denoising-diffusion-…...

常见 HTTP 状态码详解与Nginx 文件上传大小限制
在我们日常使用 Nginx 搭建网站或应用服务时,可能会遇到很多与文件上传和请求响应相关的问题。今天我们就来聊聊 如何限制文件上传的大小,并介绍一些常见的 HTTP 状态码 及其在 Nginx 中的处理方式。 一、文件上传大小限制 有时,我们需要限…...

在mac中使用numbers对数据进行分列(更详细的回答,已解决)
不想看我废话的同学直接看 “ 二、真正的方法 ” 不是抄袭不是抄袭,目前我能检索到的关于number分列的只有两篇回答,但我觉得有待补充,如果看不懂另外的回答,可以来看我的 这么问我猜大概率是Windows转macOS用户,不是…...

网格参数的应用和数学基础
引言 对于任意两个拓扑结构相似的表面,可以计算它们之间的一一对应映射。如果其中一个表面由三角形网格表示,那么计算这种映射的问题被称为网格参数化。映射到的表面通常被称为参数域。表面网格与各种域之间的参数化在计算机图形学和几何处理中有广泛的应…...
【Go】-基于Gin和GORM的小清单项目
目录 项目介绍 简介 技术 项目结构 项目分析 总结 项目介绍 简介 项目地址:knoci/list: 基于Gin的待办清单小项目 (github.com) 一个仿照github/Q1mi/bubble 做的一个gin框架练习 技术 gin 框架gorm 操作PostgreSQLini 配置文件 项目结构 list ├── R…...

【银河麒麟高级服务器操作系统】虚拟机服务器执行systemctl提示timeout——分析全过程及处理建议
了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn 现象描述 产品信息 产品名称 银河麒麟高级服务…...

【Unity错误】No cloud project ID was found by the Analytics SDK
在编译默认的URP 2D项目时,出现这样一个错误:No cloud project ID was found by the Analytics SDK. This means Analytics events will not be sent. Please make sure to link your cloud project in the Unity editor to fix this problem. 原因&…...

2. 变量和指令(omron 机器自动化控制器)——1
机器自动化控制器——第二章 变量和指令 1 2-1 变量一览表MC通用变量轴变量▶ 轴组变量 运动控制指令的输入变量输入变量的有效范围▶ 枚举体一览表 运动控制指令的输出变量运动控制指令的输入输出变量 2-1 变量一览表 MC功能模块使用的变量分为两类。 一类是监视轴等的状态及…...

深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...

20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...
如何配置一个sql server使得其它用户可以通过excel odbc获取数据
要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据,你需要完成以下配置步骤: ✅ 一、在 SQL Server 端配置(服务器设置) 1. 启用 TCP/IP 协议 打开 “SQL Server 配置管理器”。导航到:SQL Server 网络配…...

基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)
引言 在嵌入式系统中,用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例,介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单,执行相应操作,并提供平滑的滚动动画效果。 本文设计了一个…...