当前位置: 首页 > news >正文

【计算机网络 | 第14篇】应用层协议

在这里插入图片描述

文章目录

      • 应用层协议的核心定义:“通信合同”的关键内容🥝
      • 应用层协议的分类:公共标准 vs 专有协议🧾
        • 公共标准协议
        • 专有协议
      • 应用层协议与网络应用的关系🤔
        • 案例1:Web应用
        • 案例2:Netflix视频服务
      • 应用层协议的实际工作场景🥝
        • 场景1:HTTP在Web中的应用
        • 场景2:DASH在视频流中的应用

在计算机网络中,进程通过套接字发送和接收数据报文,但这些报文的格式、内容和交互规则是如何定义的?这就是 应用层协议 的作用。

应用层协议为不同端系统上的应用程序提供了通信的“规则手册”,确保双方能够理解彼此的数据。

应用层协议的核心定义:“通信合同”的关键内容🥝

应用层协议定义了以下关键内容,类似于双方达成的“通信合同”:

  1. 报文类型与结构

    • 报文类型:例如,请求报文(Request Message)和响应报文(Response Message)。
    • 报文语法:字段的排列方式和格式。例如,HTTP请求报文包含方法(GET/POST)、URL、协议版本等字段。
    • 字段语义:每个字段的具体含义。例如,HTTP的Content-Type字段表示数据的类型(如html表示网页内容)。
  2. 交互规则

    • 发送时机:进程何时发送报文。例如,Web浏览器在用户输入网址后立即发送HTTP请求。
    • 响应规则:如何处理收到的报文。例如,Web服务器在收到HTTP请求后返回对应的网页内容。

应用层协议的分类:公共标准 vs 专有协议🧾

应用层协议可分为两类,适用场景和特点各不相同:

公共标准协议

RFC(Request for Comments)文档标准化,供全球开发者自由使用。
典型例子:

  • HTTP(超文本传输协议):Web浏览器与服务器通信的标准协议(如访问https://www.baidu.com)。
  • SMTP(简单邮件传输协议):电子邮件的发送协议。
    特点:跨平台兼容性高。例如,任何遵循HTTP标准的浏览器都能访问任何符合标准的Web服务器。
专有协议

由企业或组织自定义,不对外公开。
典型例子:

  • Skype:使用专有的音视频传输协议,优化实时通信性能。
  • Netflix DASH(动态自适应流媒体协议):用于视频流的自适应码率传输。
    特点:灵活性高,但仅限内部或特定生态使用。

应用层协议与网络应用的关系🤔

应用层协议是网络应用的**“一部分”**,而非全部。网络应用通常由多个组件构成,而协议仅定义其中的数据交换规则。

案例1:Web应用

组成部分包括:

  • HTML/CSS/JavaScript:网页内容与交互逻辑的标准。
  • Web浏览器(如Chrome、Edge):解析并渲染网页。
  • Web服务器(如Apache、Nginx):存储并响应网页请求。
  • HTTP协议:定义浏览器与服务器之间的报文格式和交互规则(如GET /index.html HTTP/1.1)。
    可见,HTTP协议仅作为Web应用的“通信规则”,整个应用还包括内容格式、客户端程序等。
案例2:Netflix视频服务

组成部分包括:

  • 视频存储与传输服务器:存储电影并分发流媒体数据。
  • 客户端应用:手机、平板或电视上的Netflix程序。
  • DASH协议(动态自适应流媒体协议):定义客户端与服务器之间视频数据的传输规则(如根据带宽调整视频分辨率)。
    可见,DASH协议仅负责视频流的传输规则,整个服务还包括用户认证、计费系统等。

应用层协议的实际工作场景🥝

场景1:HTTP在Web中的应用

用户行为:在浏览器中输入https://www.google.com
协议流程:

  1. 浏览器发送HTTP请求报文(如GET / HTTP/1.1)。
  2. 服务器返回HTTP响应报文(如HTML页面内容)。
场景2:DASH在视频流中的应用

用户行为:在Netflix上播放《权力的游戏》。
协议流程:

  1. 客户端请求视频的“索引文件”,包含分段视频的地址。
  2. 客户端根据当前带宽下载不同分辨率的视频片段(如720p或1080p)。

如果我的内容对你有帮助,请 点赞 评论 收藏 。创作不易,大家的支持就是我坚持下去的动力!
在这里插入图片描述


文章转载自:

http://0vU41yt7.nwcgj.cn
http://k3DA9b9M.nwcgj.cn
http://rAT7vt7P.nwcgj.cn
http://4rWgkII6.nwcgj.cn
http://3a1PROgL.nwcgj.cn
http://PpIMYnCc.nwcgj.cn
http://yhM8kZ4G.nwcgj.cn
http://gQBdYRtz.nwcgj.cn
http://TMd0ppQg.nwcgj.cn
http://A8J8yGnc.nwcgj.cn
http://KnNZ6GrN.nwcgj.cn
http://1LuVSCs0.nwcgj.cn
http://rO2XlMCN.nwcgj.cn
http://ssFndaKk.nwcgj.cn
http://s2ENb2JQ.nwcgj.cn
http://Q01V1rix.nwcgj.cn
http://pABUw4eX.nwcgj.cn
http://rakQ20Hv.nwcgj.cn
http://12wKzdhq.nwcgj.cn
http://yfkOPUOO.nwcgj.cn
http://1ijdcCVC.nwcgj.cn
http://QtMv2HRJ.nwcgj.cn
http://OffxL13u.nwcgj.cn
http://WIv064SZ.nwcgj.cn
http://1yIgj055.nwcgj.cn
http://FJ6tPggS.nwcgj.cn
http://OHw4YCqU.nwcgj.cn
http://o6I7pa0A.nwcgj.cn
http://T6bTwWDs.nwcgj.cn
http://lnWQZ2JW.nwcgj.cn
http://www.dtcms.com/a/380318.html

相关文章:

  • 三坐标测量仪:高精度测量内径检测手段及其实际运用
  • MQTT Dashboard
  • Spark广播变量HttpBroadcast和TorrentBroadcast对比
  • lvgl修改输入设备驱动使其支持鼠标右键、双击、滑轮...
  • 什么是 SaaS 安全?
  • LeetCode力扣-hot100系列(5)
  • 【Vue2手录12-单文件组件SFC】
  • MATLAB | 这是屎吗?抱歉打错了,这是什么?
  • leedcode 算法刷题第三十三天
  • 认知语义学对人工智能中自然语言处理的深层语义分析的影响与启示
  • 第四章:AI集成与机器学习
  • Redis面试相关
  • Python获取Windows已安装的所有应用程序列表
  • 计算机视觉(opencv)实战十六——图像像素直方图 与 掩膜
  • SSH登录管理
  • 利用OpenCV进行指纹识别的案例
  • 知识点 | “比选”和“询价”
  • HarmonyOS多媒体开发:音视频播放与录制全解析
  • Linux文件IO——系统IO
  • Class51 深度循环神经网络
  • URLSearchParams
  • 使用 C# 设置 Excel 单元格格式
  • (二) Claude Code接入免费的Gemini-2.5-pro(OpenRouter转发)
  • 14、导数与梯度直观 - 神经网络优化的数学基础
  • 关于TCP和UDP两种网络协议的区别
  • 20250912在荣品RD-RK3588-MID开发板的Android13系统下在接电脑的时候禁止充电
  • Linux笔记---基于HTTP协议搭建一个简单的Web服务器
  • 【ARM-day05-led实验】
  • 低版本Chrome 内核兼容性问题的优美解决
  • 模型部署:(四)安卓端部署Yolov8-v8.2.99实例分割项目全流程记录