前端百题斩【033-034】——网络七层模型及HTTP进化史

简介: 前端百题斩【033-034】——网络七层模型及HTTP进化史

1. 网络体系结构



网络体系结构有多种划分标准:OSI体系结构、TCP/IP的体系结构、五层协议的体系结构,其中OSI体系结构是划分的最细的一种体系结构,另外的TCP/IP体系结构和五层协议的体系结构都是将OSI体系结构的某些层做了一些聚合获取得到的。上述三种结构的划分如下所示:

640.pngTCP/IP体系结构和五层协议的体系结构都是在OSI体系结构的基础上进行某些层级的聚合得到,那么下面我们重点看一下OSI体系结构中各层的功能。


  1. 物理层


物理层是第一层,其主要功能时利用传输介质为数据链路层提供物理连接,实现比特流的透明传输,这样帧中的一个个比特就能从从一个节点移动到下一个节点。(机械、电子、定时接口通信信道上的原始比特流传输)


  1. 数据链路层


数据链路层主要负责建立和管理节点间的链路,该层任务是将整个帧从一个网络元素移动到邻近的网络元素。(物理寻址,并将原始比特流转变为逻辑传输线路)


  1. 网络层


网络层负责将称为数据报的网络层分组从一台主机移动到另一台主机,该层包括著名的网际协议IP,该协议定义了在数据报中的各个字段以及端系统和路由器如何作用于这些字段。(控制子网的运行,如逻辑编址、分组传输、路由选择)


  1. 传输层


传输层主要任务是负责向两台主机进程之间的通信提供通用的数据传输服务,主要使用TCP和UDP两种协议。(接收会话层的数据,在必要时吧数据进行分割,并将这些数据交给网络层,且保证这些数据段有效到达对端)


  1. 会话层


会话层是用户应用程序和网络之间的接口,主要任务是向两个实体的表示层提供建立和使用连接的方法。(不同机器上的用户之间建立及管理会话)


  1. 表示层


表示层对来自应用层的命令和数据进行解释,对各种袯赋予相应的含义,并按照一定的格式传动给会话层,其主要功能是处理用户信息的表示问题,如编码、数据格式转换和加密解密等。(信息的语法语义以及它们的关联,如加密解密、转换翻译、压缩解压缩)

  1. 应用层


应用层是各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作,常见协议有HTTP、HTTPS、FTP、SSH等。(各种应用程序协议,如HTTP、FTP、SMTP、POP3)


注:可查看科来公司出版的网络协议图(http://www.colasoft.com.cn/download/network-protocol-map-2020.pdf


2.HTTP0.9——HTTP3.0进化史



HTTP协议不断发展,大体可分为五个版本,分别是HTTP/0.9、HTTP/1.0、HTTP/1.1、HTTP/2.0、HTTP3.0,下面一起来看看这些版本。


2.1 HTTP/0.9

640.jpg

2.2 HTTP/1.0


640.jpg

2.3 HTTP/1.1

640.jpg

2.4 HTTP/2.0

640.jpg


2.5 HTTP/3.0


640.jpg

相关文章
|
7月前
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
268 2
|
7月前
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
213 1
|
7月前
|
JSON 监控 网络协议
干货分享“对接的 API 总是不稳定,网络分层模型” 看电商 API 故障的本质
本文从 OSI 七层网络模型出发,深入剖析电商 API 不稳定的根本原因,涵盖物理层到应用层的典型故障与解决方案,结合阿里、京东等大厂架构,详解如何构建高稳定性的电商 API 通信体系。
|
4月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
5月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
392 2
|
5月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
145 8
|
5月前
|
存储 网络协议 算法
从HPACK到多路复用,揭秘HTTP/2如何终结网络拥堵
HTTP/2通过HPACK压缩头部冗余信息,提升传输效率;并利用多路复用技术,在单个TCP连接上并行处理多个请求,避免队头阻塞,显著提升性能。同时支持服务器推送和流优先级设置,优化资源加载体验。
342 7
|
7月前
基于Reactor模型的高性能网络库之Poller(EpollPoller)组件
封装底层 I/O 多路复用机制(如 epoll)的抽象类 Poller,提供统一接口支持多种实现。Poller 是一个抽象基类,定义了 Channel 管理、事件收集等核心功能,并与 EventLoop 绑定。其子类 EPollPoller 实现了基于 epoll 的具体操作,包括事件等待、Channel 更新和删除等。通过工厂方法可创建默认的 Poller 实例,实现多态调用。
380 60
|
7月前
|
安全 调度
基于Reactor模型的高性能网络库之核心调度器:EventLoop组件
它负责:监听事件(如 I/O 可读写、定时器)、分发事件、执行回调、管理事件源 Channel 等。
397 57

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    807
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    363
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    287
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    252
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    372
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    527
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    435
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    175
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    396
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    324