【王道·计算机网络】第六章 应用层

一、基本概念
1.1 应用层概述
- 应用层对应用程序的通信提供服务
- 应用层协议定义:
- 应用进程交换的报文类型,请求还是响应?
- 各种报文类型的语法,如报文中的各个字段及其详细描述
- 字段的语义,即包含在字段中的信息的含义
- 进程何时、如何发送报文,以及对报文进行响应的规则
- 应用层的功能:文件传输、访问和管理,电子邮件,虚拟终端,查询服务和远程作业登录
- 应用层的重要协议:FTP、SMTP、POP3、HTTP、DNS
1.2 网络应用模型
- 网络应用模型:客户/服务器模型Client/Server、P2P模型Peer-to-peer
- 客户/服务器c/s模型:
- 服务器:提供计算服务的设备;永久提供服务、永久性访问地址/域名
- 客户机:请求计算服务的主机;与服务器通信,使用服务器提供的服务;间歇性接入网络;可能使用动态IP地址;不与其他客户机直接通信
- P2P模型:
- 不存在永远在线的服务器
- 每个主机即可以提供服务,也可以请求服务
- 任意端系统/节点之间可以直接通讯
- 节点间歇性接入网络
- 节点可能改变IP地址
- 可拓展性好
- 网络健壮性强
二、 应用程序相关
2.1 域名解析系统DNS

- 根:.之前的称为顶级域名
- 顶级域名:
- 国家顶级域名:cn,us,uk
- 通用顶级域名:com,net,org,gov,int国际组织,areo航空类,museum,travel…
- 基础结构域名/反向域名(ip → 域名):arpa
- 二级域名
- 类别域名:ac科研,com工商金融,edu,gov,mil中国国防机构,net,org
- 行政区域名:用于我国各省、自治区、直辖市,bj
- 注册域名
2.1.1 域名服务器
- 域名服务器:根域名服务器、顶级域名服务器、权限域名服务器
- 本地(默认)域名服务器:当一个主机发出一个DNS查询请求的时候,首先会发给本地域名服务器(因为它离主机的距离非常近),可以立刻将所查询的主机名转换为IP地址;使DNS查询的过程变得更简单、快速

2.1.2 域名解析过程
- 域名解析:递归查询、迭代查询
- 高速缓存:用来存放最近查过的域名、从哪里获得这个域名映射信息的记录

2.2 文件传输FTP
- 文件传送协议:文件传送协议FTP (File Transfer Protocol)、简单文件传送协议TFTP (Trivial File Transfer Protocol)
- 简单文件传送协议TFTP:
- TFTP的代码块所占的内存比较小,较容易实现、是面向小文件的一种文件传送协议
- 非常适用于UDP环境、程序或者是文件同时向许多机器下载、适用于较小的计算机或者某些特殊用途的设备
- 文件传送协议FTP
- 提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力
- FTP是一种拷贝:上传、下载
2.2.1 FTP服务器和用户端
- FTP是基于客户/服务器c/s的协议
- 用户通过一个客户机程序连接至在远程计算机上运行的服务器程序
- 依照FTP 协议提供服务,进行文件传送的计算机就是 FTP 服务器
- 连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端
2.2.2 FTP工作原理
登陆:ftp地址
- 用户名&密码
- 匿名登陆
- 互连网中有很大一部分FTP服务器被称为“匿名”(Anonymous)FTP服务器,这类服务器的目的是向公众提供文件拷贝服务,不要求用户事先在该服务器进行登记注册,也不用取得FTP服务器的授权。
- Anonymous(匿名文件传输):使用户与远程机建立连接并以匿名身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。用户使用特登录FTP服务,就可访问远程主机上公开的文件殊的用户名“anonymous"登录FTP服务,就可访问远程主机上公开的文件。
- FTP使用TCP实现可靠传输
- FTP服务器进程:1个主进程、n个从属进程
- FTP传输模式:
- 文本模式:ASCII模式,以文本序列传输数据
- 二进制模式:Binary模式,以二进制序列传输数据

2.3 电子邮件
- 电子邮件信息:信封;内容:首部、主体

- 电子邮件组成结构:用户代理、(发送方和接收方)邮件服务器、相关协议
- 用户代理的功能:撰写、显示、处理、通信
- 邮件服务器的功能c/s:发送&接收邮件;向发件人报告邮件传送结果
- 协议:发SMTP;收POP3、IMAP

2.3.1 简单邮件传送协议SMTP
- SMTP规定了在两个相互通信的SMTP进程之间如何交换信息
- SMTP进程:负责发送邮件的是SMTP客户;负责接收邮件的是SMTP服务器
- SMTP规定了14条命令、21种应答信息
- TCP连接,端口号25,C/S
- SMTP通信三个阶段:连接建立 → 邮件传送 → 连接释放

- SMTP缺点:
- SMTP不能传送可执行文件或者其他二进制对象
- SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字
- SMTP服务器会拒绝超过一定长度的邮件
2.3.2 通用因特网邮件扩充MIME

2.3.3 邮局协议POP3
- POP3:TCP连接,端口号110,c用户代理/s接收端邮件服务器
- POP3工作方式:下载并保留(在服务器)、下载并删除
2.3.4 网际报文存取协议IMAP
- IMAP协议比POP协议复杂
- 当用户PC上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,- 若用户需要打开某个邮件,该邮件才上传到用户的计算机上
- IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,有WiFi的时候再下载附件)
2.3.5 基于万维网的电子邮件
- 特点:方便
- 不同点:邮件服务器:xx公司的服务器;协议使用上,从用户代理到发送方邮件、读取邮件是HTTP协议

2.4 万维网和HTTP协议
- 万维网WWW(World Wide Web)是一个大规模的、联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合
- 统一资源定位符URL唯一标识:资源(文字、视频、音频)
- URL一般形式:<协议>【http/ftp】😕/<主机>【域名/IP地址】:<端口>/<路径>
- 用户通过点击超链接获取资源,这些资源通过超文本传输协议HTTP传送给使用者
- 万维网以客户/服务器方式工作,用户使用的浏览器是万维网客户程序,万维网文档所驻留的主机运行服务器程序
- 万维网使用超文本标记语言HTML,使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来
2.4.1 超文本传输协议HTTP
- HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器

- HTTP协议的特点
- HTTP协议是无状态的
- cookie:存储在用户主机中的文本文件,记录一段时间内某用户的访问记录 → 提供个性化服务
- HTTP采用TCP作为传输层协议,但HTTP本身协议无连接,即通信双方在交换HTTP报文之前不需要先建立HTTP连接
- HTTP的连接方式:持久连接keep-alive(非流水线、流水线)、非持久连接close
- 持久连接:短时间内保持连接状态,请求新的元素或发送报文不需要再建立连接
- 非流水线:发送一个请求收到响应后,才能再发送一个新请求;流水线:持续发送
- HTTP报文是面向文本的,每一个字段都是一些ASCII码;分为:请求报文、响应报文

相关文章:
【王道·计算机网络】第六章 应用层
一、基本概念 1.1 应用层概述 应用层对应用程序的通信提供服务应用层协议定义: 应用进程交换的报文类型,请求还是响应?各种报文类型的语法,如报文中的各个字段及其详细描述字段的语义,即包含在字段中的信息的含义进程何时、如何…...
【论文解读】(如何微调BERT?) How to Fine-Tune BERT for Text Classification?
文章目录 论文信息1. 论文内容2. 论文结论2.1 微调流程2.2 微调策略(Fine-Tuning Strategies)2.3 Further Pretrain 3. 论文实验介绍3.1 实验数据集介绍3.2 实验超参数3.3 Fine-Tuning策略探索3.3.1 处理长文本3.3.2 不同层的特征探索3.3.3 学习率探索(灾难性遗忘探…...
工程师是怎样对待开源
工程师如何对待开源 本文是笔者作为一个在知名科技企业内从事开源相关工作超过 20 年的工程师,亲身经历或者亲眼目睹很多工程师对待开源软件的优秀实践,也看到了很多 Bad Cases,所以想把自己的一些心得体会写在这里,供工程师进行…...
Spring Boot日志系统大揭秘:从零开始学习Spring Boot日志:常见问题解答和最佳实践
一. 关于 Spring Boot 日志的使用 Spring Boot 日志机制和工具用于记录应用程序的日志信息和追踪应用程序的执行过程。它集成了常用的日志框架,如 Log4j、logback、Java Util Logging等,并提供简单易用的配置方式,让开发人员可以方便地监控应…...
【06】Nginx之反向代理
Nginx反向代理的配置语法 Nginx反向代理模块的指令是由ngx_http_proxy_module模块进行解析 proxy_pass 该指令用来设置被代理服务器地址,可以是主机名称、IP地址加端口号形式。 语法proxy_pass URL;默认值—位置location URL:为要设置的被代理服务器地址…...
TCP是面向字节流的协议
TCP字节流 之所以会说 TCP 是面向字节流的协议,UDP 是面向报文的协议,是因为操作系统对 TCP 和 UDP 协议的发送方的机制不同,也就是问题原因在发送方。 为什么 UDP 是面向报文的协议? 当用户消息通过 UDP 协议传输时,…...
读书笔记——《when breath becomes air》《超越自卑》
为啥要两本书一起写读后感? 读完这两本书本来应该分开来写点东西的,不过我认为这两本书应该写不了太多内容。虽然我也看了几本英文原著(也写了点东西),但是我明显低估了《when breath becomes air》的难度,…...
CMD与DOS脚本编程【第二章】
预计更新 第一章. 简介和基础命令 1.1 介绍cmd/dos脚本语言的概念和基本语法 1.2 讲解常用的基础命令和参数,如echo、dir、cd等 第二章. 变量和运算符 2.1 讲解变量和常量的定义和使用方法 2.2 介绍不同类型的运算符和运算规则 第三章. 控制流程和条件语句 3.1 介…...
面试字节,过关斩将直接干到 3 面,结果被吊打了?
人人都有大厂梦,对于软件测试员来说,BAT 为首的一线互联网公司肯定是自己的心仪对象,毕竟能到这些大厂工作,不仅薪资高待遇好,而且能力技术都能够得到提升,最关键的是还能够给自己镀上一层金,让…...
OpenCV在iOS端的集成及Mat和UIImage互相转化(附源码)
OpenCV是一个非常强大的图形处理框架,可以运行在Linux、Windows、Android和Mac OS操作系统上,在自动驾驶、智能家居、人脸识别、图片处理等方面提供了非常丰富且功能强大的api,在图片处理方便,基本上可以满足对图片处理的所有需求…...
5月跳槽会有风险,不跳也会有?
今天讲讲跳槽。 说实话跳槽是为了寻求更好的发展,但在跳槽前我们也不能确定下家就是更好的归宿,这就更加需要我们审慎地去对待,不能盲目跳槽。 其次,我们离职和跳槽,其中的原因很大一部分是目前薪资不符合预期。 那…...
【小白版】最简单的 goland package 教程包括自定义包的使用
一、Hello World 最简单的教程,就需要从最简单的事情开始说起: mkdir myappcd myappgo mod init myapp // myapp是主项目名 这行命令将生成一个go.mod文件,这个文件会记录所有的包的依赖关系,一个空的go.mod只有项目名称和go版本…...
IMX6ULL的I2C驱动详细分析
IMX6ULL的I2C驱动详细分析 文章目录 IMX6ULL的I2C驱动详细分析i2c_imx_driver 的平台驱动注册i2c_imx_probe注册函数i2c_imx_algoI2C算法结构体i2c_imx_start开始I2Ci2c_imx_stop停止I2Ci2c_imx_isr中断服务函数i2c_imx_dma_writeDMA 进行写操作的 I2C 传输2c_imx_dma_readi2c_…...
日志迁移到 logback
目标 本次迁移的目标就是用 slf4jlogback 的日志框架来取代目前的 slf4jlog4j 如何迁移 基于 slf4j 的无痛迁移 项目本身是采用的 slf4jlog4j 日志架构,所以迁移到 logback 基本无痛 修改依赖 原本是 slf4jlog4,依赖如下 <dependency><gro…...
开源字节 CRM 系统
开源字节CRM是一款SaaS模式的客户关系管理软件,基于钉钉平台进行研发,以客户管理为核心,包含客户管理、销售全流程管理,合同订单、工单管理、移动审批、数据分析六大模块。 旨在助力企业销售全流程精细化、数字化管理,…...
七、Spring Cloud Alibaba-Sentinel
一、引言 1、了解服务可用性问题,服务挂掉原因 缓存击穿、单点故障、流量激增、线程池爆满、CPU飙升、DB超时、缺乏容错机制或保护机制、负载不均、服务雪崩、异常没处理等。 服务雪崩效应:因服务提供者的不可用导致服务调用者的不可用,并将…...
机器学习与深度学习——通过knn算法分类鸢尾花数据集iris求出错误率并进行可视化
什么是knn算法? KNN算法是一种基于实例的机器学习算法,其全称为K-最近邻算法(K-Nearest Neighbors Algorithm)。它是一种简单但非常有效的分类和回归算法。 该算法的基本思想是:对于一个新的输入样本,通过…...
【MySQL】MySQL基础知识详解
文章目录 1. MySQL概述1.1 数据库相关概念1.1.1 数据库、数据库管理系统与SQL1.1.2 关系型数据库与数据模型 1.2 MySQL数据库1.2.1 MySQL的安装与配置1.2.2 MySQL服务的启动与停止1.2.3 连接MySQL服务端 2. SQL2.1 SQL简介2.2 DDL2.2.1 数据库操作2.2.2 表操作2.2.2.1 创建表2.…...
RabbitMQ日常使用小结
一、使用场景 削峰、解耦、异步。 基于AMQP(高级消息队列协议)协议来统一数据交互,通过channel(网络信道)传递信息。erlang语言开发,并发量12000,支持持久化,稳定性好,集群不支持动态扩展。 RabbitMQ的基本概念 二、组成及工作流…...
博物馆文物馆藏环境空气质量无线监控系统方案
博物馆文物馆藏环境空气质量无线监控系统方案 博物馆无线环境测控系统 博物馆恒温恒湿消毒净化系统 现代化博物馆空气质量一体化3D可视化管控平台 博物馆温湿度在线监控系统 博物馆光照在线监控系统 博物馆二氧化碳在线监控系统 博物馆在线监控系统 博物馆紫外线在线监控…...
轻松掌握XUnity自动翻译器:从入门到精通的高效无忧实用指南
轻松掌握XUnity自动翻译器:从入门到精通的高效无忧实用指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为玩不懂外语游戏而烦恼吗?XUnity自动翻译器就是你的救星ÿ…...
VSCode Markdown预览字体太小?3步搞定Markdown Preview Enhanced样式自定义
VSCode Markdown预览字体太小?3步搞定Markdown Preview Enhanced样式自定义 作为一名长期使用VSCode编写技术文档的开发者,我经常遇到Markdown预览字体过小或过大的问题。特别是在使用Markdown Preview Enhanced这款强大的预览插件时,默认的字…...
Speechless:微博内容永久保存的终极解决方案
Speechless:微博内容永久保存的终极解决方案 【免费下载链接】Speechless 把新浪微博的内容,导出成 PDF 文件进行备份的 Chrome Extension。 项目地址: https://gitcode.com/gh_mirrors/sp/Speechless 当你多年积累的微博内容因平台政策调整突然消…...
「#影技笔记 1.1.2」:胶片感光原理与显影技术全解析
1. 胶片感光的基础化学原理 当你按下相机快门的那一刻,光线穿过镜头照射在胶片上,一场微观世界的化学反应就此展开。胶片感光的核心秘密藏在那些直径仅0.5-2微米的溴化银晶体里。这些晶体就像无数个微型光探测器,每个晶体表面都存在着被称为&…...
ThinkPad风扇噪音终结者:TPFanCtrl2智能控温全攻略
ThinkPad风扇噪音终结者:TPFanCtrl2智能控温全攻略 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 如果你是ThinkPad用户,是否常被风扇频繁启停…...
CAPL诊断脚本避坑指南:diagSetPrimitiveData和diagSetPrimitiveByte到底怎么选?
CAPL诊断脚本避坑指南:diagSetPrimitiveData和diagSetPrimitiveByte到底怎么选? 在汽车电子诊断测试领域,CAPL脚本的高效编写直接关系到测试覆盖率和执行效率。许多中级开发者在处理大数据块传输或多帧诊断请求时,常常陷入diagSet…...
第7章 运算符-7.6 成员运算符
成员运算符用于检查字符串、列表、元组、字典和集合中是否存在指定的元素。表7-6中列出了Python中的成员运算符,在该表中,假设变量a的值为3,变量lt的值为[1,2,3,4]。表7-6 成员运算符运算符描述实例in如果在字符串、列表、元组、字典和集合中…...
Elasticsearch RTF安全配置终极指南:X-Pack安装与免费License申请教程
Elasticsearch RTF安全配置终极指南:X-Pack安装与免费License申请教程 【免费下载链接】elasticsearch-rtf elasticsearch中文发行版,针对中文集成了相关插件,方便新手学习测试. 项目地址: https://gitcode.com/gh_mirrors/el/elasticsearc…...
G-Helper技术深度解析:华硕笔记本性能优化的开源解决方案
G-Helper技术深度解析:华硕笔记本性能优化的开源解决方案 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix,…...
2025届学术党必备的AI辅助论文网站实际效果
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 旨在辅助学术论文撰写的人工智能写作工具DeepSeek,能通过让用户明确研究主题&…...
