HTTP小记2

目录

HTTP/1.1优化

QUIC协议

路由器

RTT(Round-Trip Time)

计算机网络体系结构

体系结构各层在整个过程中的作用


HTTP/1.1优化

1.通过缓存技术来避免/减少发送HTTP请求

2.减少HTTP请求的次数

  • 将原本由客户端处理的重定向请求,交给代理服务器处理,这样可以减少重定向请求的次数
  • 将多个小资源合并成一个大资源再传输,减少HTTP请求次数以及头部的重复传输,进而减少TCP连接数量,进而省区TCP握手和慢启动造成的网络消耗
  • 按需访问资源,不获取全部的资源,只获取当前用户所看到的页面资源,当用户向下滑动页面的时候,再向服务器获取接下来的资源,达到延迟发送请求的效果

3.压缩相应资源,降低传输资源大小,提高传输效率,选择更为优秀的压缩算法

QUIC协议

一种基于UDP的传输层协议。

QUIC=HTTP/2+TLS+UDP

QUIC允许在单个连接上并行传输多个数据流,并且每个流都可以独立的处理,也就是某个流发生丢包时,只会阻塞这个流,其他流不会受到影响,所以不存在队头阻塞问题。

QUIC内部包含TLS。

QUIC是新协议,对于很多网络设备,根本不知道什么是QUIC,只会当做是UDP,这样就会出现新的问题,因为有的网络设备是会丢掉UDP包的,QUIC是基于UDP实现的,网络设备无法识别是QUIC包,会当做UDP包丢弃。

路由器

是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。

计算机通常采用的是分组交换。

在路由器中的输入和输出端口之间没有直接连线。

路由器处理分组的过程是:

  1. 把收到的分组先放入缓存(暂时存储)
  2. 查找转发表,找出到某个目的地址应从哪个端口转发;
  3. 把分组送到适当的端口转发出去。

RTT(Round-Trip Time)

RTT是数据流往返的网络耗时,我们一般的http请求与服务端的交互时间。

往返时间RTT也是一个重要的性能指标。

计算机网络体系结构

常见的计算机网络体系结构

  • 如今用的最多的是TCP/IP体系结构,现今规模最大的、覆盖全球的、基于TCP/IP的互联网并未使用OSI标准。
  • TCP/IP体系结构相当于将OSI体系结构的物理层数据链路层合并为了网络接口层,并去掉了会话层表示层
  • TCP/IP在网络层使用的协议是IP协议,IP协议的意思是网际协议,因此TCP/IP体系结构的网络层称为网际层

网络接口层:并没有规定具体内容,这样做的目的是可以互连全世界各种不同的网络接口,例如:有线的以太网接口,无线局域网的WIFI接口等。

网际层:它的核心协议是IP协议。

运输层:TCP和UDP是这层的两个重要协议。

应用层:这层包含了大量的应用层协议,如 HTTP , DNS 等。

体系结构各层在整个过程中的作用

应用层

  • 按照HTTP协议的规定构建一个HTTP请求报文。
  • 应用层将HTTP请求报文交付给运输层处理

运输层

  • 给HTTP请求报文添加一个TCP首部,使之成为TCP报文段
  • 运输层将TCP报文交付给网络层处理

网络层

  • 给TCP报文段添加一个IP首部,使之成为IP数据报
  • 网络层将IP数据报交付给数据链路层处理

数据链路层

  • 给IP数据报添加一个首部和一个尾部,使之成为帧
  • 数据链路层将帧交付给物理层

物理层

  • 先讲帧看作比特流,假设这里的网络N1是以太网,物理层还会给该比特流前面加上前导码
  • 物理层将装有前导码的比特流变换成相应的信号发送给传输媒体

信号再通过传输媒体到达路由器

相关推荐

  1. golang HTTP2 https测试POST变GET问题小记

    2023-12-27 13:28:03       6 阅读
  2. HTTP/2

    2023-12-27 13:28:03       25 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-27 13:28:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-27 13:28:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-27 13:28:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-27 13:28:03       18 阅读

热门阅读

  1. Unity3D 中播放 RTSP 监控视频

    2023-12-27 13:28:03       65 阅读
  2. docker安装Nacos和Rabbitmq

    2023-12-27 13:28:03       35 阅读
  3. RabbitMQ 常见问题

    2023-12-27 13:28:03       30 阅读
  4. Node.js 默认包管理器 npm 详解

    2023-12-27 13:28:03       29 阅读
  5. 面试复盘5——后端开发——一面

    2023-12-27 13:28:03       50 阅读
  6. LeetCode - 4 寻找两个正序数组的中位数

    2023-12-27 13:28:03       40 阅读
  7. React项目打包流程

    2023-12-27 13:28:03       43 阅读
  8. 数组增删查

    2023-12-27 13:28:03       39 阅读
  9. koa开发基础配置

    2023-12-27 13:28:03       47 阅读
  10. Alibaba Cloud Linux 3.2104 LTS 64位系统可以选择吗?

    2023-12-27 13:28:03       46 阅读
  11. <math.h> 头文件:C语言数学库函数

    2023-12-27 13:28:03       36 阅读
  12. NPM简介与使用指南:打造前端开发的利器

    2023-12-27 13:28:03       42 阅读