小满网络模型&http1-http2 &浏览器缓存

      最后更新:2022-07-04 10:22:43 手机定位技术交流文章

      应用层

      它是应用程序最接近的OSI层,用户使用相应的接口实现自己的服务。

      协议包括:HTTP FTP SMTP等。

      表示层

      数据表示 、 安全 、 压缩. 确保一个系统应用程序层发送的信息被另一个系统应用程序层读取. 格式是JPEG 、 ASCII 和加密.

      在表示层中,数据按照网络理解方案格式化。管理数据加密和解密。

      会话层

      建立、管理、终止对话(英语:Establishing, managing, terminating conversations)是指本地主机和远程主机之间进行的对话,负责建立、维护和终止网络两个节点之间的通信。

      对话层的功能包括:建立通信链路,保持对话过程的通信连接平稳,同步两个节点之间的对话,决定是否将通信发送回端子,以及从何处进行通信中断。

      一些人将会议层网络通信称为“交通警察”。当您打电话给您的ISP(互联网服务提供商)连接到互联网时,ISP服务器上的对话层将您连接到您的PC客户端的对话层进行咨询。如果你的队列碰巧掉下来,会议层将检测到连接中断并重新启动连接。会议层通过确定节点通信的优先次序和通信时间的长度来设置通信的持续时间。

      传输层

      定义传输数据的协议端口号, 以及流量控制和错误检查.

      协议包括:TCP UDP等,一旦包离开网络卡,它进入网络传输层。定义数据传输的一些协议和端口号码,例如:TCP(传输控制协议),传输效率低,可靠性强,运输的可靠性要求高,数据量大的数据),UDP(用户数据报告协议,由于传输可靠性要求低,数据量小的数据)。它主要讨论从较低层次接收的数据的分级和传输,到达目的地后重新组织.这个数据层通常被称为分段。

      OSI模型的最后层.传输协议同时控制浏览或根据接收器接收数据的速度确定适当的传输速率。除此之外,传输层将根据网络处理的最大大小强制分隔长数据包。例如,Ethernet不能接收超过1500字节的数据包。传输节点的传输层将数据分成较小的数据单元,同时,为每个数据表安排一个序列数目,为了数据到达接收节点的传输层,可以按正确的顺序重新组织.该过程称作排序。

      网络层

      逻辑地址 、 不同网络之间的路径选择等协议: ICMP IGMP IP ARP RARP等.

      提供位于不同地理位置的网络中两个主机系统之间的连接和路径选择。 互联网的发展使用户从世界各地获得信息的数量大大增加,网络层正式管理这个连接层。

      OSI模型的第三层,其主要功能是将网络地址转换为相应的物理地址,并决定如何从发送者传递数据到接收者。

      网络层通过结合传输优先次序、网络拥挤程度、服务质量和可选路由成本来确定一个网络中的A节点到B节点的最佳路径。由于网络层处理,以及数据传输的智能指导,路由器连接到网络的每个部分,所以路由器属于网络层。在网络中,路由是基于路由方案,使用模式,以及可用性来指导数据传输。

      网络层用于在计算机系统局部LAN部分上建立通信.这就是为什么它能够做到这一点。因为它有自己的路由地址结构,这个结构与第二级机器地址是独立的。该协议被称为路由或可路由的协议。路由器协议包括IP、Novel的IPX和AppleTalk协议。

      数据链路层

      建立逻辑连接,执行硬件地址,检查错误等等。 这些位子被组合成节点,然后是帧,并且错误被检测,但不能通过访问MAC地址介质来纠正。

      主要的功能是如何在不可靠的物理线上可靠地传输数据.为了保证传输,从网络层接收的数据被分成特定的帧,可以传输到物理层。框架是用来移动数据的包,它不仅包括原始数据,它还包括发送者和接收者物理地址以及错误和控制信息。该地址决定框架将在哪里发送,纠正和控制信息确保框架错误不会发生。如果在传送数据时,接收点检测传输数据中的错误,通知发件人重新输入这个帧。

      数据链层基于提供位流服务的物理层,建立邻接节点之间的数据链,通过误差控制,在信道上提供数据帧,而不发生误差传输,在每个电路上运行一系列动作。主要功能是物理地址、数据框架、交通控制、数据检索、复发等。

      物理层

      建立、维护和切断物理连接。

      主要定义物理设备标准,例如网络线的接口类型、纤维的接口类型、各种传输媒体的传输速度等。

      第二节 http1.1 http2

      1. HTTP/2采用二进制格式而不是文本格式
      2. HTTP/2完全是多路径重用,没有顺序和封锁 - 单个连接足够实现并行性
      3. 使用头条压缩,HTTP/2降低成本
      4. HTTP/2允许服务器主动向客户端缓存发送响应

      1.二进制分帧层

      在二进制分帧层上,HTTP 2.0将所有传输的信息分成较小的消息和帧,并将其编码成二进制格式。HTTP1.x的第一个信息将包含在标题框中,我们的请求机构载于数据框架内.

      2.多路复用

      如上图所示,持续的HTTP连接可以有效地减少TCP建立的连接和不连接的数目,从而减少服务器的额外负担和增加HTTP请求总时间

      3.头部压缩

      • 保持相同的静态词典,包含共同标题和共同标题和值的组合
      • 保持相同的动态词典,可以动态添加内容
      • 通过staticuffman编码,编码传输的第一个领域

      HTTP/2演示:互联网的未来 | Akamai

      4.客户端缓存

      协商缓存

      咨询缓冲器用于确定通过服务器的缓冲器可用性

      Last-Modify匹配If-Modify-Since:当浏览器第一次请求资源时,服务器以“最后修改”返回标题,最后修改是最后一次修改资源;当浏览器再次请求资源时,请求标题将包含“如果-修改-自”,最后修改值返回服务端头。服务器收到“如果-修改-自”后,根据资源的最后修改时间,确定缓存是否顺序

      Etag匹配If-None-Match:当Web服务器响应请求时,将添加一个标签,告诉浏览器服务器上的当前资源的唯一标识符(生成规则由服务器决定)。If-None-Match(标签的值)在再次请求Web服务器时使用。在网络服务器收到请求后,将“如果-没有-匹配”与“标签”相比较,决定是否命令暂停协商;

      ETag和Last-Modified的作用和使用,它们的区别:

      1.标记优先于最后修改。最后修改的时间单位是秒,如果文件在一秒内发生多次变化,所以他们的最后修改实际上并不反映修改,但标签每次都会改变,以确保准确性;

      2.在性能方面,Etag比Last-Modified低,因为Last-Modified只记录时间,Etag需要服务器通过算法计算 Hash值;

      3.在优先级上,服务器检查Etag以考虑优先级。

      如果服务器收到的请求没有Etag值,请将“如果修改”与请求文件的最后修改时间比较;如果匹配,请调用咨询缓存并返回304;如果不匹配,返回新的“最后修改”和“文件”并返回200

      强缓存

      期满:值是绝对时间,但期满是HTTP1。 默认浏览器现在默认使用HTTP1。

      缓存控制:这个值与时间有关,如果与帝国同时设置,它的优先级更高。

      缓存控制有以下常用的设置:

      -max-age:设置默认时间,当资源再次请求时,客户端直接读取缓存

      -no-cache:不使用本地缓存。 必须与服务器协商缓存,以确认返回的响应是否被更改。 如果前面的响应中有一个ETag,则请求由服务器验证。 如果资源没有被更改,则数据将从缓存中提取

      -no-store:直接禁止浏览器存储数据,每次用户请求资源时都会向服务器发送请求。

      -public:可以由所有用户缓存,包括终端用户和CDN等中间代理服务器。

      -private:只能由最终用户浏览器缓存,不能由中间缓存服务器(如CDN)缓存。

      服务器通过设置http's hdader's Exppires和缓存控制字段告诉浏览器交换的有效性。这个方法有固定的时间,问题是,如果服务器数据更新,但直到强缓冲的过期,则数据无法更新

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/29176.html

          热门文章

          文章分类