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

计网复习知识(17)应用层

目录

考研大纲

1.应用层概述

1.1 网络应用模型

C/S模型

P2P对等模型

1.2 应用协议

 DNS

FTP

电子邮件系统

STMP协议

MIME协议

POP3协议

IMAP协议

基于万维网的电子邮件

2.万维网

2.1 万维网概念

2.2 HTTP协议


考研大纲

DHCP协议也是应用层协议,不过用处是为主机动态分配ip地址,所以我把他归在了网络层里了。在这里不讲了,感兴趣的自己看看计网复习知识(15)网络层全部内容包括各种协议-CSDN博客


1.应用层概述

1.1 网络应用模型

C/S模型

P2P对等模型

1.2 应用协议

 DNS

FTP

控制进程与数据传送进程都是从属进程。

电子邮件系统

STMP协议

MIME协议

POP3协议

IMAP协议

基于万维网的电子邮件

就是平时用浏览器发送接收的情况。


2.万维网

2.1 万维网概念

2.2 HTTP协议

HTTP有几个版本,简介一下:

  1. HTTP/1.0

    • 支持多种HTTP方法,如GET、POST、HEAD、PUT、DELETE等。

    • 引入了请求头和响应头,用于传递关于请求或响应的附加信息。

    • 引入了状态码来表示服务器对请求的处理结果。

    • 引入了持久连接(keep-alive)机制,允许在一个TCP连接上发送多个请求和响应,减少连接建立和关闭的开销,提高性能。

    • 引入了一些缓存控制机制,允许客户端和服务器进行缓存的管理。

    • 是无状态协议,即服务器不会保留客户端之前的请求信息,每个请求都是独立的。

  2. HTTP/1.1

    • 默认开启持久连接,进一步提高了性能。

    • 引入了管道化(Pipeline)技术,允许在同一连接上并行发送多个请求。

    • 支持分块传输编码,允许服务器在知道整个响应内容大小之前就开始发送响应。

    • 引入了 ETagCache-Control 等头部字段,优化缓存管理。

    • 支持虚拟主机(一个IP地址托管多个域名)。

    • 队头阻塞问题仍然存在,请求和响应头部冗余,未压缩。

  3. HTTP/2

    • 使用二进制格式而不是文本格式来传输数据,提高传输效率和解析速度。

    • 允许在一个TCP连接上同时发送多个请求和响应,减少连接建立和关闭的开销,并提高网络利用率。

    • 使用HPACK算法对请求和响应头部进行压缩,减少了数据传输的大小。

    • 允许服务器在客户端请求之前主动推送相关资源,减少客户端发送额外请求的次数,提高页面加载速度。

    • 引入了流量控制机制,允许客户端和服务器控制数据流的速率,避免了过载或拥塞情况的发生。

    • 要求使用TLS加密,提供了更好的安全性和隐私保护。

  4. HTTP/3

    • 基于QUIC协议,提供了更低的延迟、更快的连接建立时间和减少的网络拥塞。

    • 完全强制使用加密通道进行数据交换,进一步增强了安全性保障。

    • 尽管仍然沿用了类似的压缩思路,但由于底层传输协议的变化以及对于安全性的更高追求等因素影响,具体实现细节有所调整优化。

    • 能够更好地应对丢包情况,并减少新连接建立的时间开销。

总的来说,HTTP协议的不同版本在性能、功能和安全性方面有所改进。HTTP/1.0是最早的版本,简单易用但性能较低。HTTP/1.1引入了持久连接和管道化机制,提高了性能和网络利用率。HTTP/2使用二进制格式传输数据,引入了多路复用、头部压缩和服务器推送等特性,进一步提升了性能和安全性。而HTTP/3则通过引入QUIC协议,进一步解决了连接建立延迟、队头阻塞等问题,并提供了内置的安全性和更好的连接迁移能力。
 

HTTP报文格式

真题

http://www.xdnf.cn/news/1053577.html

相关文章:

  • jQuery 3D透明蓄水池状柱状图插件
  • IDA动态调试环境配置全流程
  • 【Markdown】基础用法汇总(标题、列表、链接、图片、加粗斜体、上下角标、引用块、代码块、公式)
  • 学习日记-day30-6.15
  • Linux安装LLaMA Factory
  • Netty 全面深入学习指南
  • 项目实训个人工作梳理
  • 【算法 day03】LeetCode 203.移除链表元素 | 707.设计链表 | 206.反转链表
  • nodejs中Express框架的基本使用
  • ​​信息系统项目管理师-项目范围管理 知识点总结与例题分析​​
  • Claude Code 实用教程——使用方法详解
  • 庙算兵棋推演AI开发初探(8-神经网络模型接智能体进行游戏)
  • 文本预测和分类任务
  • [笔记] 基于esp32s3用GUI-Guider-1.9.1-GA开发LVGL界面
  • 认识电子元器件之磁传感器
  • Spring有代理对象的循环依赖时,如何确保代理对象能够正确持有原始对象的所有属性赋值结果?
  • 234. 回文链表
  • SQL 增删改查 —— 笔记篇
  • 面向对象设计原则
  • 深度学习——基于卷积神经网络实现食物图像分类【3】(保存最优模型)
  • React19源码系列之Hooks(useState)
  • Linux中的连接符
  • 谐波减速器 MINIF8 和 MINIF11 的区别
  • 事务传播机制分析:用户注册场景分析
  • 日语学习-日语知识点小记-进阶-JLPT-真题训练-N2阶段(2):2020年12月2018年7月
  • leetcode148-排序链表
  • 《Java编程思想》读书笔记:第十二章
  • 01 人工智能起源与诞生
  • 在 Windows 上使用 Docker Desktop 快速搭建本地 Kubernetes 环境(附详细部署教程)
  • 第六章、6.2 ESP32低功耗模式详解:深度睡眠与轻度睡眠实战指南