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

文章目录

概述

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

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

在 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 可以进行文件的上传(从客户端到服务器)和下载(从服务器到客户端)操作,并且可以支持多种文件类型和传输模式。

相关推荐
编程之路,妙趣横生7 小时前
IP 协议
计算机网络
笨鸟先飞,勤能补拙19 小时前
Web 服务器与计算机网络全景原理
运维·服务器·前端·网络·人工智能·计算机网络·web安全
pcplayer20 小时前
Delphi WebService 使用 HTTP Header 管理 Session
http·webservice·soap·web server·http header
FfHUCisI21 小时前
Golang HTTP 路由设计与请求处理
开发语言·http·golang
拾光Ծ21 小时前
【Linux网络】数据链路层详解:以太帧与ARP协议 + 代理服务器与内网穿透,内网打洞
计算机网络·内网穿透·数据链路层·arp·代理服务器·内网打洞·以太帧
游戏开发爱好者81 天前
iOS 推送怎么配置,APNs 推送证书、设备库与群发
android·ios·小程序·https·uni-app·iphone·webview
小新讲网安1 天前
HTTP请求走私攻击实战:CL.TE与TE.CL绕过前端服务器全解析
服务器·前端·网络·web安全·http·架构·漏洞
JZZC21 天前
38.IPv6——静态配置
计算机网络·ipv6
xiaoxiangsiyan2 天前
企业日常运维高频应用服务全解
运维·网络·云原生·容器·dns
wear工程师2 天前
接口超时别只调大 timeout:Java HTTP 客户端其实有 3 段等待
java·http