计算机网络:应用层 —— 应用层概述

文章目录

概述

应用层是计算机网络体系结构的最顶层 ,它直接面向用户和应用程序,解决通过应用进程的交互来实现特定网络应用的问题 ,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分。

应用层协议定义了应用进程间通信和交互的规则 ,这些协议主要解决的是网络应用程序与网络服务之间的通信问题

在 TCP/IP 体系结构中,应用层协议利用传输层提供的服务(如 TCP 或 UDP)来实现各种网络应用。就像是一栋建筑的顶层,它是用户和计算机网络交互的接口,通过应用层协议来完成各种网络功能。

  • 早期基于文本的应用(电子邮件、远程登录文件传输、新闻组)

  • 20世纪90年代将因特网带入干家万户的万维网WWW

  • 当今流行的即时通信、P2P文件共享及各种音视频应用

  • 计算设备的小型化和"无处不在",宽带住宅接入和无线接入的日益普及和迅速发展,为未来更多的新型应用提供了广阔的舞台。

主要功能

应用层的主要功能包括:

  • 提供应用服务接口为各种网络应用程序提供接口,使得应用程序能够方便地使用网络服务 。例如,Web 浏览器通过 HTTP(超文本传输协议)与 Web 服务器进行通信,获取网页内容;电子邮件客户端通过 SMTP(简单邮件传输协议)发送邮件,通过 POP3(邮局协议第 3 版)或 IMAP(互联网消息访问协议)接收邮件。这些协议为应用程序提供了发送和接收数据的标准方式。

  • 数据表示和转换 :负责处理应用程序之间交换的数据的格式和表示 。不同的应用程序可能使用不同的数据格式,应用层需要对这些数据进行转换,以确保数据能够在不同的系统之间正确地传输和理解。例如,在网页传输中,HTML(超文本标记语言)格式的网页内容需要被正确地编码和传输,接收方的浏览器再将其解码并显示出来。

  • 应用进程通信协调协调不同应用进程之间的通信 。在一个复杂的网络环境中,可能有多个应用程序同时在进行通信,应用层需要对这些通信进行管理和协调。例如,在一个分布式系统中,应用层可以通过远程过程调用(RPC)协议来实现不同主机上的应用进程之间的通信,使得这些进程能够像在本地一样进行交互。

常见应用层协议

  • HTTP / HTTPS

    • HTTP(超文本传输协议):用于在 Web 浏览器和 Web 服务器之间传输超文本,是构建万维网(WWW)的基础协议 。它采用请求 - 响应模式 ,浏览器发送请求(如 GET 请求获取网页内容,POST 请求提交表单数据等),服务器收到请求后返回相应的响应,包括 HTML 文档、图片、脚本等资源。

    • HTTPS(安全超文本传输协议):是 HTTP安全版本 ,在 HTTP 的基础上加入了 SSL/TLS(安全套接层 / 传输层安全)加密协议。它主要用于保护敏感信息(如用户登录信息、信用卡信息等)在网络传输过程中的安全,通过加密和身份认证机制,确保数据不被窃取或篡改。

  • SMTPPOP3IMAP

    • SMTP(简单邮件传输协议):用于发送电子邮件 。它规定了邮件从发送方的邮件客户端发送到发送方的邮件服务器,再从发送方的邮件服务器传输到接收方的邮件服务器的过程。SMTP 使用简单的命令 - 响应格式进行通信,发送方通过 SMTP 命令发送邮件相关信息(如发件人、收件人、邮件主题、邮件正文等)。

    • POP3(邮局协议第 3 版):主要用于接收电子邮件 。用户通过 POP3 协议从邮件服务器上下载自己的邮件到本地客户端。POP3 采用客户端 - 服务器模式,客户端连接到服务器后,可以列出邮件列表、下载邮件、删除邮件等操作。

    • IMAP(互联网消息访问协议):也是用于接收电子邮件 ,但与 POP3 不同的是,IMAP 提供了更强大的邮件管理功能。用户可以在服务器上直接对邮件进行操作,如创建文件夹、移动邮件、标记邮件等,并且可以在多个设备上同步邮件状态,使得用户在不同设备上访问邮件时能够保持一致的体验。

  • DNS(域名系统):用于将域名 (如 www.example.com转换为对应的 IP 地址 。在网络通信中,计算机是通过 IP 地址来识别对方的,但对于用户来说,记住复杂的 IP 地址很困难,DNS 就起到了这个转换的作用。当用户在浏览器中输入域名时,浏览器会首先向 DNS 服务器发送查询请求,DNS 服务器查找并返回对应的 IP 地址,然后浏览器再通过该 IP 地址与目标服务器进行通信。

  • FTP(文件传输协议):用于在不同主机之间传输文件FTP 采用客户端 - 服务器模式 ,支持两种连接方式:控制连接和数据连接。控制连接用于传输命令,如用户登录、文件目录操作等命令;数据连接用于传输实际的文件数据。FTP 可以进行文件的上传(从客户端到服务器)和下载(从服务器到客户端)操作,并且可以支持多种文件类型和传输模式。

相关推荐
2501_915921431 小时前
请求未达服务端?iOS端HTTPS链路异常的多工具抓包排查记录
websocket·网络协议·tcp/ip·http·网络安全·https·udp
妮妮喔妮3 小时前
HTTP中常见的Content-Type
网络·网络协议·http
危险、3 小时前
RabbitMQ 通过HTTP API删除队列命令
分布式·http·rabbitmq
超人不会飛3 小时前
就着HTTP聊聊SSE的前世今生
前端·javascript·http
hashiqimiya4 小时前
配置tcp的https协议证书
网络·tcp/ip·https
闲坐含香咀翠5 小时前
记一次交互优化:从根源上解决Axios请求竞态问题
前端·http·浏览器
向宇it5 小时前
【unity游戏开发——网络】网络游戏通信方案——强联网游戏(Socket长连接)、 弱联网游戏(HTTP短连接)
网络·http·游戏·unity·c#·编辑器·游戏引擎
轻语呢喃5 小时前
Cookie详解:从原理到实战,彻底搞懂用户身份识别机制
javascript·http·html
2501_916007476 小时前
iOS 接口频繁请求导致流量激增?抓包分析定位与修复全流程
websocket·网络协议·tcp/ip·http·网络安全·https·udp
2501_916013747 小时前
用Fiddler中文版抓包工具掌控微服务架构中的接口调试:联合Postman与Charles的高效实践
websocket·网络协议·tcp/ip·http·网络安全·https·udp