计算机网络:应用层知识点汇总
文章目录
- 一、网络应用模型
- 二、域名系统(DNS)
- 三、文本传输协议(FTP)
- 四、电子邮件
- 五、万维网和HTTP协议

一、网络应用模型


p2p也就是对等模型


二、域名系统(DNS)
我们知道,随着人们建立一个网站的成本降低以及技能的提高,越来越多的网站出现,并且也会有千万计的人们去访问这些网站。而网民在访问网站的过程中,其实就是主机和另一台主机进行一个远程之间的通信,以及资源交换的过程。
我们的主机怎么找到对方的主机?其实就是通过IP地址这个全球唯一的标识符就可以找到对应的网站,并和这个网站进行一个信息的交换。
但是我们仔细想一下,如果我们要访问b站,我们知道b站的服务器的ip地址吗?这显然是不现实的。所以我们本节会学习一个东西来替代ip地址,也就是域名

域名你可以想象成,每个网站它都有一个自己的名字,我们可以通过记住这些名字来找到对应的网站。
而域名到IP地址的转换,就是由我们要学的DNS系统来解决的。

现在我们有一台主机,你需要访问王道论坛的网站。你知道论坛的域名www.cskaoyan.com,前面的http是使用万维网的一种协议。
那我们在搜索引擎中输入这样的域名后,在正式访问王道论坛前。我们需要把域名解析成IP地址。主要靠的就是DNS服务器,它可以帮我们实现域名到ip地址的转换。

也就是我们输入域名之后,会传给DNS服务器,DNS服务器处理之后会返回给我们王道论坛的IP地址。
我们主机知道对应网站IP地址之后,就可以通信了。这个通信过程就是我们之前网络层、传输层、链路层、物理层要解决的问题。



当一个主机要访问一个网站的时候,就要先发送一个DNS查询请求,首先发送给的就是本地域名服务器。如果本地域名服务器的缓存中不清楚主机所发送的DNS请求中IP地址和域名的一个解析,他就需要向根域名服务器发送一个请求。
根域名服务器是最高层次的域名服务器,也是最重要的域名服务器,它知道所有顶级域名服务器的域名和IP地址
ps:一个域名可能是好几台主机共用
再往下,每个顶级域名服务器又知道它下面的权限域名服务器的IP地址是多少

递归查询:
这是一种靠别人的方式,比如说我在访问一个网站的时候,首先要进行DNS查询请求,首先就是查询本地域名服务器,如果本地域名服务器查不到就去寻求根域名服务器帮助。
但如果根域名服务器还是无法解析域名,那根域名服务器就要请求顶级域名的帮助。
如果顶级域名还不能解析完整域名,就要继续往下请求权限域名服务器的帮助。就是这样一个接一个寻求另一个人帮助的过程。
就像是递归一样,然后返回就是原先的访问顺序逆过来。
迭代查询:
该种方式和递归查询的区别在于它是靠自己的方式,这里的自己是指本地域名服务器。
迭代查询的方式就是,如果本地域名服务器中并没有这个域名它所对应的IP地址,它首先要查询根域名服务器,如果根域名服务器没有。
那本地域名服务器再去查询顶级域名服务器。
这里区别递归查询,递归查询如果根域名服务器没有,是根域名服务器去请求顶级域名服务器。但是迭代查询永远是本地域名服务器去做请求。
那本地域名服务器是怎么知道找哪个顶级域名服务器呢?这个是根域名服务器告诉他的。

三、文本传输协议(FTP)

在文件传输的时候,如果使用FTP协议,就可以屏蔽不同操作系统之间的差异性。
大家对于FTP应该并不陌生,因为我们平时上课的时候,老师可能会给我们一个FTP地址,让我们从这个FTP上面来下载作业。然后你做完之后才上传上去。就类似于一个拷贝的过程,即从FTP服务器上把文件拷贝到你电脑里,另一种是把你电脑里的文件拷贝到服务器上。


FTP服务器的进程主要由两大部分来组成,第一个部分就是唯一的主进程,这个主进程可以负责接收新的请求。
主进程的工作步骤如下:首先打开服务器的熟知端口,也就是这个FTP服务器它实现文件传输的熟知端口,端口号是21,在这个端口打开之后,就可以使客户进程成功的连接上。接下来,它只需要等待客户进程发送一个连接的请求,然后再进行数据的连接和传送。然后它就可以启动n个从属进程
从属进程:每一个从属进程都可以处理单个客户请求,比如你要去理发店理发。进门前有一个门童问你是剪发还是染发,然后进去之后门童会给你安排一个剪头的或者染头的Tony老师,让这个老师为你服务。
门童就相当于主进程,每个tony老师就相当于一个从属进程。


四、电子邮件



用户代理:就是用户和电子邮件系统的一个接口,在通常情况下,它就是运行在你电脑上的一个程序。所以用户代理又可以称之为电子邮件的客户端软件。用户代理可以为客户提供一个比较友好的接口,目前就是给你一个窗口的界面,通过这个界面你就可以写邮件、发邮件、接收邮件。
现在可以用的用户代理有很多,比如Foxmail、outlook等。
用户代理主要有四个功能:
1.撰写:即给用户提供一个编辑信件的环境。
2.显示:即用户写完的信可以显示在屏幕上,也可以看收来和发出去的信件内容。
3.处理:包括发送邮件、接收邮件。比如收到一个邮件,我可以选择删除。
4.通信:通信是指,我在写完邮件之后,需要利用邮件的一些发送协议。
邮件服务器:
邮件服务器作为服务器需要长时间的工作,并且它会有大容量的邮件信箱来容纳大量的信件。
邮件服务器主要有两个功能:
1.发送和接收邮件:用户代理的发送和接收是把邮件从客户端,也就是从我们自己电脑上发给邮件服务器,而邮件服务器的发送邮件则是把邮件发送到接收方的邮件服务器。接收则是接收方的邮件服务器接收发送方的邮件服务器传来的邮件。
2.向发件人报告发送结果:也就是告诉发件人你的邮件是交付了还是丢失了。
邮件服务器采用的是客户/服务器模式,每一个邮件服务器它可以同时充当服务器或者客户。
协议:
协议主要分两类:
SMTP:邮件发送出去的时候
POP3、IMAP:接收的时候







五、万维网和HTTP协议






相关文章:
计算机网络:应用层知识点汇总
文章目录 一、网络应用模型二、域名系统(DNS)三、文本传输协议(FTP)四、电子邮件五、万维网和HTTP协议 一、网络应用模型 p2p也就是对等模型 二、域名系统(DNS) 我们知道,随着人们建立一个网站…...
金三银四!一个年薪160W+的就业方向!
前言 随着越来越多的科技大厂加入鸿蒙生态建设,鸿蒙开发人才正在市场上被争抢。资深工程师开出的年薪高达近百万,架构师更是高至160万,真可谓“鸿蒙猿年薪超百万”。如何抓住新技术红利,尽早上车?你会成为下一个鸿蒙开…...
实现的一个网页版的简易表白墙
实现的一个网页版的表白墙 实现效果 代码截图 相关代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><tit…...
随身WiFi靠谱吗? 看完这篇文章你就懂了?2024随身wifi靠谱品牌推荐
在网络如此发达,随身WiFi如此普遍的2024年,仍有人在质疑随身WiFi到底靠不靠谱,有没有用处。其实只需要回答两个问题: 1、你的流量够用吗?手机的流量包和随身WiFi套餐哪个更便宜? 2、手机流量不够用&#x…...
mysql的trace追踪SQL工具,进行sql优化
trace是MySQL5.6版本后提供的SQL跟踪工具,通过使用trace可以让我们明白optimizer(优化器)如何选择执行计划。 注意:开启trace工具会影响mysql性能,所以只适合临时分析sql使用,用完之后请立即关闭。 测试数…...
docker部署springboot jar包项目
docker部署springboot jar包项目 前提,服务器环境是docker环境,如果服务器没有安装docker,可以先安装docker环境。 各个环境安装docker: Ubuntu上安装Docker: ubuntu离线安装docker: CentOS7离线安装Docker࿱…...
一个八年工作经验老程序员的分享
作为一个 Java 程序员,我在这个行业中工作了多年。在这个过程中,我经历了许多挑战和机遇,也学到了很多宝贵的经验和教训。在这篇文章中,我想分享一些我的感想和思考,希望能够对其他 Java 程序员有所帮助。 一、技术的…...
代码随想录算法训练营第四十三天|动态规划|1049. 最后一块石头的重量 II、494. 目标和、474.一和零
1049. 最后一块石头的重量 II 文章 有一堆石头,每块石头的重量都是正整数。 每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x < y。那么粉碎的可能结果如下: 如果 x y&a…...
vue3+elementPlus:el-table-column表格列动态设置单元格颜色
:cell-style属性 //html<el-tableempty-text"暂无数据":data"datalist.table":max-height"height"row-key"id"border:cell-style"cellStyle"> <el-table>//js //动态设置单元格颜色 const cellStyle ({ row, c…...
python和shell脚本,每隔五分钟将远端服务器中的文件夹数据下载到跳板机
python脚本 import subprocess import datetime import timedef run_scp_command(source_path, target_path):command [scp -r , source_path, target_path]try:subprocess.run(command, checkTrue)print("File transferred successfully!")except subprocess.Call…...
Websocket在Asp.net webApi(.net framework)上的应用
之前在写看板部分的web api的时候,都是通过Ajax在规定时间内轮询调用web api,这样简单省事,但是当看板多了(并发量上来)以后,比较消耗服务器的性能,所以最近研究了websocket,希望使用…...
App前端开发跨平台框架比较:React Native、Flutter、Xamarin等
引言 移动应用开发领域的跨平台框架正在不断演进,为开发者提供更多选择。在本文中,我们将比较几个流行的跨平台框架:React Native、Flutter和Xamarin等。讨论它们的优缺点、适用场景以及开发体验。 第一部分 React Native: 优缺点、适用场景…...
VR数字展厅在企业中应用的优势有哪些?
随着VR全景技术的成熟,VR数字展厅逐渐成为了企业展示形象和产品的重要手段之一。VR企业数字展厅是一种通过VR技术、3D建模技术展示企业形象和产品的创新方式,将企业线下的展厅搬到线上,为企业品牌形象带来了很多优势。 VR数字展厅在企业中应用…...
【数据库】索引 视图 触发器 分页查询
目录 1、索引 2、视图 3、触发器 4、分页查询⚠️ 1、索引 提升查询效率、当数据量小的时候,索引看不出来效果,当数据量很大的时候,索引会显著提高查询速度 当给表添加索引之后,新插入一条数据,就会让索引进行重新…...
*地宫取宝c++
题目 输入样例1: 2 2 2 1 2 2 1输出样例1: 2输入样例2: 2 3 2 1 2 3 2 1 5输出样例2: 14 思路 题目说从入口开始,只能向右或向下行走到达右下角,类似“摘花生”这道题的模型。题目又说只有当格子里的宝…...
同态滤波算法详解
同态滤波是一种用于增强图像的方法,特别适用于去除图像中的照明不均和阴影。该算法基于照射反射模型,将图像分解为两个分量:照射分量(illumination component)和反射分量(reflection component)…...
财务管理系统报账和挂账分别什么区别!报销又是什么【第三期】
前言 已经写了两期 财务管理系统之saas多租户架构是什么以及分库分表以及如何选择分布式事务方案 【程序员聊业务】财务管理系统之模块分类 报账和挂账概念 报账是指企业或个人因业务需要而发生的各项费用支出,在支付后,需要将相关的票据、凭证等提交…...
最少刷题数
最少刷题数 题目分析 对于每一名同学计算还需要再刷多少题才能保证刷题数比他多的人数不超过刷题数比他少的学生人数。我们可以考虑统计每一个分数的前缀和数组,sum[i]表示当前学生中,刷题数小于等于i的人数。那么对于学生i的刷题数a[i],su…...
Python刘诗诗
写在前面 刘诗诗在电视剧《一念关山》中饰演了女主角任如意,这是一个极具魅力的女性角色,她既是一位有着高超武艺和智慧的女侠士,也曾经是安国朱衣卫前左使,身怀绝技且性格坚韧不屈。剧中,任如意因不满于朱衣卫的暴行…...
探索ChatGPT在软件架构师工作中的应用
随着人工智能技术的不断发展,自然语言处理模型如OpenAI的ChatGPT已经成为了解决各种实际问题的强大工具之一。在软件架构师这个领域,ChatGPT也有着广泛的应用。本文将探讨软件架构师如何有效地利用ChatGPT来解决问题和提高工作效率。 ChatGPT简介 Chat…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...
