计算机网络六 应用层

news2024/12/23 5:30:46

应用层

在这里插入图片描述

网络应用模型

客户/服务器模型(C/S)

客户/服务器模型是一种常见的网络应用模型。客户端是指与用户直接交互的计算机应用程序,服务器则是提供服务的计算机系统或应用程序。在客户/服务器模型中,客户端发送请求,服务器端回应请求。客户端可以向多个服务器发送请求,而服务器可以同时为多个客户端提供服务。这种模型结构在分布式计算等领域得到了广泛应用。

P2P模型

P2P模型指点对点模型,是另外一种网络应用模型。它的特点是,没有中心服务器,所有的客户端都可以与其他客户端直接通信。在P2P模型中,每个客户端既可以作为服务端,又可以作为客户端。这种模型结构在文件分享等领域得到了广泛应用。

域名系统(DNS)

域名系统是一种系统,用于将人类可以理解的域名转换成计算机可以理解的IP地址。在域名系统中,域名被组织成层次域名空间。顶级域名包括com、org、net等。次级域名包括foo、example、microsoft等。子域名则是某个次级域名下的域名。

层次域名空间

域名系统(Domain Name System)是将域名转换为 IP 地址的分布式数据库系统,它采用了层次域名空间的结构。层次域名空间是指整个域名空间通过点号(.)连接成一个由多个层次组成的树形结构,每个节点都用一段字符串表示。域名从右向左逐级的结构被称作完全限定域名或 FQDN(Fully Qualified Domain Name)。例如“www.example.com.” 就是一个 FQDN。

最高层是由单一字符表示的,称为根。根节点下有若干个一级域名,即顶级域名(TLD,Top Level Domain),也称为“域名类”或“域名后缀”。例如:com、edu、net 等。顶级域名下又可以有若干个二级域名(SLD,Second Level Domain)或服务器域名,每个二级域名下面还可以有若干个三级域名、四级域名等,以此类推,形成一个固定的域名命名规则。

域名的每个部分都是有长度限制和字符合法性限制的,比如:

一级域名最长为63个字符,二级域名最长为62个字符;

每一部分只能由“数字”“字母”“-”组成,不能以“-”开头和结尾,例如“-abc.com”和“abc-.com”是非法的。

域名服务器

域名服务器包括根域名服务器、顶级域名服务器、权威域名服务器和本地域名服务器四种类型。根域名服务器是所有域名服务器中最顶层的一层,它记录了全世界的顶级域名服务器地址。权威域名服务器则是记录着某个域名下所有主机的IP地址。本地域名服务器则是运营在本地网络中的一种服务器,可以将域名请求转发到其他服务器进行处理。

域名解析过程

将域名解析成IP地址的过程主要分为以下步骤:首先,客户端向本地域名服务器发出域名解析请求;本地域名服务器将请求转发到根域名服务器,根域名服务器返回顶级域名服务器地址;本地域名服务器将请求转发到顶级域名服务器,该服务器返回次级域名服务器地址;本地域名服务器将请求再转发到权威域名服务器,权威域名服务器返回主机IP地址;最终,本地域名服务器将主机IP地址返回给客户端。

文件传输协议(FTP)

FTP的工作原理

FTP是一种文件传输协议,它的工作原理是:客户端与FTP服务器建立控制连接,然后客户端通过控制连接发送命令,比如列出FTP服务器上的文件、下载文件、上传文件等。如果需要下载或上传文件,客户端还需要与FTP服务器建立数据连接,用于传输文件数据。

控制连接和数据连接

FTP协议使用两个连接:控制连接和数据连接。控制连接是一种长连接,用于传输客户端和FTP服务器之间的控制消息,比如用户登录、列出服务器上的文件等。数据连接则是一个短暂的连接,用于传输真正的文件数据。FTP协议使用两种数据连接模式:主动模式和被动模式。

电子邮件(E-mail)

电子邮件系统由用户代理、邮箱和邮件服务器三部分组成。用户代理是指用户使用的电子邮件客户端,邮箱是指用户在邮件服务器上的存储空间,用于存储收到的邮件和待发送的邮件。邮件服务器是一个运营在互联网上的服务器,用于接收和转发邮件,同时也提供用户登录、认证、存取等

电子邮件系统的组成结构

电子邮件(E-mail)系统是由用户代理、邮箱和邮件服务器三部分组成的。下面是它们的详细说明:

用户代理(Mail User Agent,MUA):用户代理也称为邮件客户端,是用户用于发送或接收电子邮件的客户端应用程序,如“Outlook”、“Gmail” 等。用户通过邮件客户端编写邮件、发送邮件和读取邮件。邮件客户端和邮件服务器之间通过邮件协议交互,如POP3、IMAP、SMTP等。

邮箱(Mailbox):邮箱是指用户在邮件服务器上的存储空间,用户的邮件都存储在邮箱中。用户的每个邮件地址对应一个邮箱,与传统的信箱类比,邮箱相当于一个信箱。

邮件服务器(Mail Server):邮件服务器是一个运营在互联网上的服务器,它接收和转发邮件,同时也负责处理用户登录、认证、存取等功能。邮件服务器提供发送邮件和接收邮件服务。邮件服务器通过电子邮件传输协议(SMTP、POP、IMAP等)与用户的邮件客户端通信。

电子邮件通过邮件客户端编写、发送,通过邮件服务器进行传输和储存,然后由接收方电子邮件客户端接收和阅读邮件。

总的来说,电子邮件系统是一套基于网络的信息传递系统,包含了邮件客户端、邮件服务器和邮箱三个方面。实现了通信双方之间信息的传递和存储。

电子邮件格式与MIME

电子邮件(E-Mail)是一种通过网络发送和接收的消息,可以包含文本、图片、音频、视频等多媒体形式的信息。电子邮件格式最初是由RFC822规定的,但是RFC822规定的电子邮件只支持文本格式,无法支持二进制格式的附件等。因此,后来采用MIME(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展)协议进行了扩展,支持了多种邮件格式,包括文本、HTML、图片、声音和视频等。

以下是电子邮件格式和MIME的一些基本概念和特点:

电子邮件格式:电子邮件由邮件头(Header)和邮件体(Body)两部分组成。邮件头包含了发件人地址、收件人地址、邮件主题等元数据,邮件体就是邮件中实际包含的内容。RFC 5322对电子邮件格式进行了规定。

MIME协议:MIME协议是对电子邮件格式的扩展,支持了多种邮件格式,包括文本、HTML、GIF、JPEG、声音和视频等。这样,邮件就不再限于文本内容,还可以包含图像、音频、视频等多种资源。MIME协议在邮件头中增加了Content-Type和Content-Disposition等元数据。

编码:MIME协议还可以指定邮件内容的编码方式,以支持多种格式。常见的编码方式有Base64、Quoted-Printable等。

MIME协议是电子邮件格式的一种扩展,通过支持多种邮件格式,满足了用户对邮件多样化的需求。现在,各种邮件客户端和邮件服务器一般都支持MIME协议,这样电子邮件可以支持多种类型的文件附件以及多语言字符编码。

SMTP与POP3

SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)是电子邮件系统中的两种不同的协议,它们分别用于发送和接收邮件,下面是它们各自的详细说明:

SMTP协议
SMTP协议用于发送电子邮件。当用户使用邮件客户端发送邮件时,邮件客户端通过SMTP协议将邮件发送到邮件服务器。SMTP协议是基于TCP/IP协议工作的,使用25端口。SMTP协议规定了邮件发送的几个基本要素,如发件人地址、收件人地址、邮件主题、邮件正文等。SMTP协议还规定了一些错误码,用来告知邮件发送是否成功。

POP3协议
POP3协议用于接收电子邮件。当用户使用邮件客户端接收邮件时,邮件客户端通过POP3协议从邮件服务器中下载邮件。POP3协议是基于TCP/IP工作的,使用110端口。POP3协议规定了邮件接收的基本要素,如用户名、密码、邮箱地址等信息。通过POP3协议,用户可以在本地计算机上查看、管理和删除邮件。

SMTP与POP3是电子邮件系统中两个不同的协议,需要配合使用来完成邮件的发送和接收。常见的邮件客户端程序,如Outlook、Foxmail等,都支持SMTP和POP3协议。一般来说,邮件服务器提供提供SMTP协议和POP3协议的服务,用户使用此类邮件客户端程序进行连接和操作。

万维网(WWW)

万维网(World Wide Web,简称WWW)是互联网上的一项服务,也是现代网络信息世界中最重要的组成部分之一。万维网采用超文本传输协议(HTTP)来传输和检索数据。万维网最初由英国物理学家蒂姆·伯纳斯-李于1989年所发明。

万维网的基本概念是超文本(Hypertext),超文本是指一种可以在不同计算机之间互相传递信息的文本格式。与普通文本不同的是,超文本中可以出现指向其他超文本、图像、声音和视频等信息的超链接。由于超链接的存在,网页之间可以互相链接,形成庞大的网状结构,使用户可以随意跳转查看各种信息。

通过万维网,用户可以使用浏览器来浏览网页,与远程服务器交互获取所需要的信息,并与其他互联网用户交流。目前,万维网已经成为我们获取信息的主要来源,并且不断发展新技术、新标准,如HTML5、CSS3以及各种JavaScript框架等。

WWW的概念与组成结构

万维网(World Wide Web,简称WWW)是一个基于互联网的信息服务系统,它是由大量互相链接的文档和其他资源组成的。这些资源可以通过浏览器访问,包括各种超文本文档、图像、视频、音频等多种类型的数据。下面是WWW的概念和组成结构:

概念
万维网采用超文本传输协议(HTTP)和超文本标记语言(HTML)等技术,旨在为用户提供一种互相链接的、可浏览的文档集合。用户可以通过浏览器访问WWW上的各种信息资源,其中包括文本、图片、视频、音频等多种类型的数据。超链接是WWW最基本的概念,它使得用户可以轻松地跳转到其他文档或资源上。

组成结构
万维网的组成结构包括:

万维网服务器:存储和提供各种信息资源的计算机设备,一般包括Web服务器和数据库服务器等。

浏览器:作为用户与万维网交互的接口,允许用户查看、访问和搜索各种信息资源。

网页:由HTML等标记语言编写的文档,其中包含了各种信息和超链接。

超链接:用于将各个网页和资源相互连接起来的链接。

HTTP协议:超文本传输协议,用于在Web服务器和浏览器之间传输数据。

URL(Uniform Resource Locator):用于标识和定位万维网上的资源的地址。

综上所述,万维网是一个由超链接组成的互联网服务系统,在用户和Web服务器、浏览器、网页、超链接、HTTP协议和URL等多种技术之间实现浏览、交互和搜索等功能。

HTTP

HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种用于传输超媒体文档(如HTML)的协议,它是Web的基础。在Web中,客户端通过HTTP协议与服务器进行通信,向服务器请求数据或发送数据。下面是HTTP协议的一些基本概念和特点:

通信流程:HTTP通信由客户端发起请求,服务器返回响应两部分组成。客户端在发起请求时会指定HTTP的方法(GET、POST等)、URI(Uniform Resource Identifier,统一资源标识符)以及传输协议版本。服务器收到请求后,会返回对应的状态码、响应头和响应体。

请求方法:HTTP定义了几种不同的请求方法,包括GET(获取资源)、POST(提交数据)、PUT(替换)、DELETE(删除)等。

状态码:HTTP响应中包含的状态码用来表示请求的处理结果,它们分别代表不同的含义,比如200表示成功,404表示未找到资源,500表示服务器错误等。

Cookie:用于Web服务器向客户端发送数据、客户端再把数据传回服务器的机制,以记录用户的登录状态、浏览历史等信息。

缓存机制:为提高Web的性能,HTTP协议还规定了缓存机制,客户端可以缓存服务器返回的响应内容,避免重复请求相同的资源。

HTTPS:HTTP的安全版,采用SSL或TLS加密来保护数据传输安全。

HTTP协议是Web通信的基础,它的设计目的是为了保证Web数据传输的高效性和安全性。现在,绝大多数的Web应用都使用HTTP协议来进行通信,成为了Web通信标准之一。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/582242.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis7实战加面试题-高阶篇(案例落地实战bitmap/hyperloglog/GEO)

案例落地实战bitmap/hyperloglog/GEO 面试题: 抖音电商直播,主播介绍的商品有评论,1个商品对应了1系列的评论,排序展现取前10条记录 用户在手机App上的签到打卡信息:1天对应1系列用户的签到记录,新浪微博、钉钉打卡签…

ADC和DAC常用的56个技术术语

采集时间 采集时间是从释放保持状态(由采样-保持输入电路执行)到采样电容电压稳定至新输入值的1 LSB范围之内所需要的时间。采集时间(Tacq)的公式如下: ​混叠 根据采样定理,超过奈奎斯特频率的输入信号频率为“混叠”频率。也就是说,这些频…

一图看懂 importlib_metadata 模块:用于提供第三方访问Python包的元数据的库,资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 一图看懂 importlib_metadata 模块:用于提供第三方访问Python包的元数据的库,资料整理笔记(大全) 🧊摘要🧊模块…

rpm 方式部署 MongoDB

文章目录 rpm 方式部署 MongoDB1. 下载 rpm 包2. 上传到服务器3. 执行安装4. 启动5. 登陆6. 开启远程登陆7. 测试远程登陆8. 开启 auth 认证9. 远程登陆验证 rpm 方式部署 MongoDB 参考地址:https://blog.csdn.net/baidu_23491131/article/details/127664931 1. 下载…

PixiJS 源码深入解读:用于循环渲染的 Ticker 模块

大家好,我是前端西瓜哥。这次来看看 PixiJS 的 Ticker 模块源码。 Ticker 的作用是 在下一帧绘制前调用监听器,PixiJS 使用它来不断对画面进行重绘。 版本为 7.2.4。 使用 在我们 实例化 PIXI.Application 时,PIXI.Application 内部注册的…

国内免费可用的ChatGPT网站【实时更新】

文章目录 1.什么是ChatGPT2.ChatGPT的基础技术3.ChatGPT工作原理4.ChatGPT应用场景5.ChatGPT局限性6.ChatGPT的未来发展7.国内免费ChatGPT镜像写在最后 ChatGPT国内能用吗:ChatGPT在国内是无法使用的。你肯定要问我怎样才能体验到ChatGPT的神奇魔力呢?文…

Linux-0.11 kernel目录进程管理system_call.s详解

Linux-0.11 kernel目录进程管理system_call.s详解 模块简介 本节主要介绍了在Linux-0.11中关于系统调用的相关实现。Linux-0.11使用int 0x80中断以及eax寄存器中存储的功能号去调用内核中所提供的功能,在系统调用发生的过程中伴随着用户态向内核态的主动切换。 需…

App开发需要了解的基本开发技术

近年来,随着智能手机的普及和互联网的高速发展,移动端 APP应用开发越来越受到人们的欢迎。现在,应用程序开发已成为一项热门职业,并成为许多人寻求高薪职业的首选。然而,要成功地在移动端 APP中应用程序,开…

分享几封好用的外贸人催单模版

给外贸人说在前面: 虽然说是催单模版,但是请带入你们公司产品,你们客户具体情况来套入,不能一模一样,再好的模版,再好的话术,大家一起用,就成了毫无价值的废料。 请灵活运用&#…

【阿里巴巴国际站API接口】商品详情接口,代码封装系列

为了进行电商平台 alibaba 的API开发,首先我们需要做下面几件事情。 1)开发者注册一个账号 2)然后为每个alibaba应用注册一个应用程序键(App Key) 。 3)下载 alibaba API的SDK并掌握基本的API基础知识和调用 4&#xf…

Linux一学就会——线程互斥

Linux一学就会——线程互斥 Linux线程的互斥 进程线程间的互斥相关背景概念 临界资源:多线程执行流共享的资源就叫做临界资源 临界区:每个线程内部,访问临界自娱的代码,就叫做临界区 互斥:任何时刻,互斥…

Python3数据分析与挖掘建模(3)探索性数据分析

1. 概述 探索性数据分析(Exploratory Data Analysis,EDA)是一种数据分析的方法,用于探索和理解数据集的特征、关系和分布等。EDA旨在揭示数据中的模式、异常值、缺失值等信息,并为后续的分析和建模提供基础。以下是关…

20-01 走进微服务与Spring Cloud

Java架构师系列导航目录 认识SpringCloud——外带全家桶 Alibaba组件库 Nacos 中心化动态配置 持久化规则服务发现(DNS RPC)权重路由无缝SC K8s Sentinel(流控组件) 突发流量、削峰填谷、流量整形实时熔断实时监控大盘 S…

汽车和地铁的无人驾驶了解

01汽车无人驾驶技术 汽车相对地铁列车,控制设备的安装空间较为有限,不同车辆的个体差异较大,其无人驾驶技术的实现方案需要更简约,主流的方案通常是通过多种车载传感器(如摄像头、激光雷达、毫米波雷达、北斗/GPS、惯性…

实时频谱-3.1实时频谱分析仪测量

RSA 测量类型 泰克RSA 可以在频域、时域、调制域和统计域中工作。 频域测量 基本频域测量是实时 RF 数字荧光显示(DPX)频谱显示测量、频谱显示测量和频谱图显示测量功能。 DPX 频谱 DPX 频谱测量对 RSA 发现其它分析仪漏掉的难检信号的能力至关重要。在所有泰克 RSA 中&am…

聚观早报|知乎发布搜索聚合开始内测;苹果7月关闭我的照片流服务

今日要闻:知乎发布“搜索聚合”即日开启内测;iOS版ChatGPT下载量突破50万次;苹果7月关闭“我的照片”流服务;首款国产介入手术机器人亮相;马斯克回应多年前嘲笑比亚迪 知乎发布“搜索聚合”即日开启内测 5 月 28 日消…

ChatGTP全景图 | 背景+技术篇

引言:人类以为的丰功伟绩,不过是开端的开端……我们在未来100年取得的技术进步,将远超我们从控制火种到发明车轮以来所取得的一切成就。——By Sam Altman 说明:ChatGPT发布后,我第一时间体验了它的对话、翻译、编程、…

Linux-0.11 kernel目录进程管理asm.s详解

Linux-0.11 kernel目录进程管理asm.s详解 模块简介 该模块和CPU异常处理相关,在代码结构上asm.s和traps.c强相关。 CPU探测到异常时,主要分为两种处理方式,一种是有错误码,另一种是没有错误码,对应的方法就是error_c…

Logisim 头歌 16位海明编码电路设计 图解及代码(计算机组成原理)

努力是为了不平庸~ 学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。 急的同学请直接点击目录跳到下方解答处!! 目录 图解: 代码题解(免费): 实…

SpringCloudConfigServer配置刷新优化方案

前一文章《SpringCloudConfigServer配置中心使用与刷新详解》 介绍了Spring Cloud原生配置中心的部署方案,以及配置变更时的刷新方案。 通过该文可以看到: 第一种方案无法同时刷新单个服务的所有实例第二种方案依赖于消息中间件(RabbitMQ或k…