应用层

已同步微信公众号:乐享Coding,期待你的关注!

应用层是计算机网络体系结构的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分。

首先对应用层要有个大概了解,思维导图是个不错的工具,废话不说,上图

网络应用模型

网络应用程序运行在处于网络边缘的不同的端系统上,在各种端系统上的组织方式和他们之间的关系。目前流行的有两种:

客户/服务器(C/S)方式

应用 :万维网www,电子邮件,文件传输FTP等。

服务器:提供计算服务的设备

  • 永久提供服务
  • 固定的IP地址,端口号(http 80)
  • 永久性访问地址域名

客户端:请求服务的主机

  • 与服务器通信,使用服务器提供的服务
  • 间歇性接入网络
  • 可能使用动态IP

对等(peer-to-peer,P2P)方式

在P2P方式中,没有固定的服务请求和服务提供者,分布在两端的应用进程是对等的,称为对等方,对等方相互之间直接通信。

应用:P2P文件共享,即时通信,P2P流媒体

DNS域名系统

由于IP地址难以记住,因此采用域名的方式方便记忆,因特网采用层次树状结构的域名结构,分为顶级域名TLD二级级域名三级域名,(四级域名)

www.baidu.com 从右到左为顶级域名,二级域名,三级域名,中间以点 . 隔开!

根域的 DNS 服务器信息保存在互联网中所有的 DNS 服务器中。这样⼀来,任何 DNS 服务器就都可以找到并访问根域 DNS 服务器了。
因此,客户端只要能够找到任意⼀台 DNS 服务器,就可以通过它找到根域 DNS 服务器,然后再⼀路顺藤摸瓜找到位于下层的某台⽬标 DNS 服务器。

DNS域名解析

  • 主机向本地域名服务器的查询一般都是采用递归查询

递归查询简单来说是指路加带路,问一个人路,他不知道会亲自找上一级,上一级不知道会亲自找上上一级,直到返回结果。

  • 本地域名服务器向根域名服务器的查询的迭代查询

迭代查询简单来讲只指路不带路,问一个人路,问一个人路,他不知道会通知你找他的上一级,上一级不知道会通知你找他的上上一级,直到返回结果。

Email电子邮件

电子邮件是因特网上最早流行的一种应用,系统采用C/S方式,主要由三部分构成:

用户代理:用户与电子邮件的接口,电子邮件客户端的软件!

邮件服务器:因特网上所有的ISP都是邮件服务器,其功能是发送和接收邮件,同时负责维护用户的邮箱。

邮件传输协议:邮件传输所遵循的协议如SMTP.

图解电子邮件的整个过程:

SMTP的局限性:只能传输ASCII码文本数据。图片视频音频这些超文本和中文日文等都不能传输。因此提出了MIME.

图解如下:

邮件读取协议

  • POP3(110) :只允许用户下载并保留和下载并删除邮件,并不能在线管理邮件。(如分类邮件,创建文件夹)

  • IMAP4(143):用户可以操控邮件服务器的邮箱,实现了在邮件服务器管理邮件。

目前,一般常用的是基于web的电子邮件

图解如下:

WWW万维网

万维网是一个大规模的、联机式的信息储藏所,是运行在因特网上的分布式应用。万维网利用网页之间的超链接将不同网站的网页链接成一张逻辑的信息网。

*URL(统一资源定位符URL)*来指明因特网上任何种类“资源”的位置。

组成:<协议>://<主机>:<端口号></路径>

举例:https://www.baidu.com:443/index.html

文档:HTML,CSS,JAVASCRIPT

HTTP协议:

定义了浏览器(客户端进程)怎么向万维网服务器请求万维网文档,以及万维网服务器如何把万维网文档传给浏览器,是因特网上应用最为广泛的一种网络传输协议。

图解如下:

HTTP/1.0:采用非持续连接的方式,每次浏览器请求一个文件都要与服务器建立TCP连接,当收到响应后关闭连接。这当然会造成请求多个对象(如图片)就会连接多次,每一次都会花费2RTT的时间。

HTTP/1.1:采用持续连接的方式,服务器在发送响应报文后仍保持连接,只要文档在同一浏览器,就只需建立一次连接。除此之外,又采用了流水线方式,即浏览器收到服务器的响应报文后可一次发多个请求报文。

报文格式:HTTP是面向文本的,其中报文中每一个字段都是ASCII码串,并且每个字段的长度都是不确定的。

请求报文实例

响应报文实例

HTTP/1.1  200  OK
Keep-Alive:timeout=10,max=500
Connection:keep-alive
Content-Type: text/html; charset=utf-8

两种报文基本格式

响应报文状态码

请求方法

最常用的是GETPOST方法

Get ⽅法:请求从服务器获取资源,这个资源可以是静态的⽂本、⻚⾯、图⽚视频等。这种请求方式是安全幂等的,即不会改变服务器的文档内存。

幂等的含义:多次执⾏相同的操作,结果都是相同的。

POST⽅法则是相反操作,它向 URI 指定的资源提交数据,数据就放在报⽂的 body ⾥。例如留言功能,需要添加数据,所以是不安全且不幂等

根据 HTTP 标准,HTTP 请求可以使用多种请求方法。

  • HTTP1.0定义了三种请求方法:GET, POST和 HEAD方法。

  • HTTP1.1新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE和CONNECT方法。

HTTP缺点:

  • 无状态(即不会保存数据在服务器,无法记录用户数据)

  • 不安全(因为是面向报文,明文传输,很容易别识别,因此推出了https,进行了加密)

万维网利用服务器Cookie封装用户信息附加在响应报文中,弥补HTTP的缺点,但因为是保存在客户端,因此会产生安全问题,这里不在延申。Cookie只是最简单的解决无状态的一种方法。

FTP文件传送协议

FTP是因特网上使用的最广泛的文件传送协议。(尤其用于批量传输文件)

其优势是屏蔽了各计算机系统的细节适用于异构网络中任意计算机之间传送文件

Windows系统可下载第三方FTP服务器将主机作为FTP服务器,客户端可使用第三方的FIP客户工具软件,无需记住FTP客户端工具命令,操作简便!

图解FTP过程:

计算机网络之应用层图解,秒解应用层HTTP,期末考试不担心!!相关推荐

  1. 《计算机网络(第7版)-谢希仁》期末考试复习题和答案(总结整理)

    期末复习试题总结 一.选择题. 1.广域网覆盖的地理范围从几十公里到几千公里.它的通信子网主要使用( B ). A.报文交换技术 B.分组交换技术 C.文件交换技术 D.电路交换技术 2.数据链路层中 ...

  2. 【计算机网络:自顶向下方法】(二)应用层

    tm [计算机网络:自顶向下方法](二)应用层 文章目录 应用层 如何创建一个新的网络应用? 2.1 应用层原理 网络应用的体系结构 对等模式(P2P:Peer To Peer) 混合体:客户-服 ...

  3. 3秒解一元二次不等式

    前言 这是我第一次在CSDN上发表文章,可能我学识尚浅,可能你会对我的文章内容的严谨性.准确性产生质疑.但我想说的是:我和你一样,满怀着对知识的热爱与渴求.在这里,我把自己闲暇时写的一些东西拿出来分享 ...

  4. 并联串联混合的电压和电流_用“串反并同”和“等效电源”秒解电压、电流、功率怎么变的问题...

    用"串反并同"和"等效电源"秒解电压.电流.功率怎么变的问题 小伙伴们,我终于忍不住要给大家讲一些秒解物理题的方法了,其实我本身并不喜欢"秒解&quo ...

  5. 香港高防服务器秒解是什么意思?

    在租用高防类服务器的时候,经常有服务商向用户推荐说,高防服务器能秒解攻击.那么,秒解到底是个怎样的概念?秒解的意思是,在服务器受到大流量攻击的时候,当攻击超过我们购买高防防御值的时候,会出现服务器IP ...

  6. 斗地主残局破解算法,斗地主残局暴力求解器算法,秒解各种斗地主残局

    斗地主残局破解,斗地主残局暴力求解器,秒解各种斗地主残局 秒解抖音.微信等各大平台的斗地主残局挑战 支持自定义出牌规则 输入双方的牌后单击"开始求解"按钮即可 求解完成后,电脑会自 ...

  7. 小米解bl锁跳过168小时_xiaomi redmi 红米秒解BL工具分享支持小米红米机型秒解BL跳过168小时

    目前小米的新机,官方风控都默认绑定7天也就是168小时才能解锁BL,部分账号需要绑定15天才能满足条件,导致很多爱玩机的小伙伴被拒门外.并不是所有人都愿意等待官方解锁时候,而跳过168小时解锁,也成为 ...

  8. 红米Note11/11Pro/11SE/11R秒解BL锁-跳168小时限制(RedNote 11 5G root 手机刷 magisk

    本教程采用Magisk注入boot的办法,适用于MIUI13,安卓版本12,其他版本未测试,请谨慎 之前在网上找了好久,也没找到能用的第三方rec,这手机也被阉割了谷歌服务,就算自行用安装器安装,也会 ...

  9. 【基础】秒解DP神器,你值得拥有

    如果想了解更多内容,欢迎关注我的微信公众号:信息学竞赛从入门到巅峰. 上期,我们讲解了解决动态规划的基本步骤,分别是:设置状态.枚举子问题,更新答案. 其实,这每一步都不是那么好做到的,需要有足够的经 ...

最新文章

  1. 【Netty】Netty解决粘包和拆包问题的四种方案
  2. mysql表分区和表空间_mysql分表和分区的区别浅析
  3. Cookie利用神器:CookieHacker
  4. 使用Maven原型高效创建Eclipse模块
  5. oracle 数据库官网下载流程
  6. 数值方法与计算机方法是,计算机数值方法.pdf
  7. vsftpd配置文件详细讲解
  8. scrapy爬虫部署服务器
  9. Cityscape数据集脚本readme翻译
  10. 网络通信——下载管理器DownloadManager——利用POST方式上传文件
  11. QQ空间相册照片批量导出
  12. 怎样判断一个exe可执行程序是32位的还是64位的
  13. 八成家用智能摄像头存泄密风险 破解后可窃取实时画面
  14. MacBookPro阻止电脑自动下载更新
  15. 彻底解决2440触摸屏跳点以及抖动问题
  16. Java实现word导出与pdf导出
  17. 基于互联网的温度采集系统
  18. delphi向控件发送消息,全选、复制、黏贴,sendmessage
  19. 解决适配375像素宽度667像素高度移动端方法:推荐一款非常好用的px转rem单位的VSCode插件px to rem rpx (cssrem)
  20. MATLAB秦九韶多项式求值算法的原理和迭代法求解的近似数值方法。

热门文章

  1. 项目经理在汇报中的三个重点
  2. 携程AI和推荐系统的云化实践
  3. java spring 中 每小时一次_spring 定时任务的 执行时间设置规则
  4. 关于CAN报文中ACK应答错误的检测原理
  5. win10没有远程网络网关_加强远程工作网络安全的10种方法
  6. CDH添加ELASTICSEARCH服务elasticsearch-cdh-parcels
  7. 【CF480D】Parcels DP
  8. net start命令发生系统错误5和错误1058的解决方法
  9. 基于蚁群优化算法的特征选择相关文献
  10. 利用ODI将Oracle US7ASCII编码的数据库迁移至UTF8编码数据库