8、HTTP/1.0和HTTP/1.1的区别【高频】
-
第一个是 长连接:
- HTTP/1.0 默认 短连接,(它也可以指定 Connection 首部字段的值为 Keep-Alive实现 长连接)
- 而HTTP/1.1 默认支持 长连接,HTTP/1.1是基于 TCP/IP协议的,创建一个TCP连接是需要经过三次握手的,有一定的开销,因此最好能维持一个长连接,可以用个长连接来发多个请求。
-
第二个是 管道化:
-
而 HTTP/1.0 不支持管道化
-
而HTTP/1.1 支持管道 网络传输,但不是默认开启。具体内容是,只要第一个请求发出去了,不必等其回来,就可以发第二个请求出去,解决了请求的队头阻塞问题,可以减少整体的响应时间

-
-
第三个是 缓存控制:
- HTTP/1.0 主要使用 Expires 字段 或者 If-Modified-Since 来判断使用哪种缓存
- 而HTTP/1.1 则引入了更多的缓存头,比如 ETag 、If-None-Match
-
第四个是 错误处理:
- HTTP/1.1 增加了一些新的状态码,比如 100 Continue,表示协议处理中的一种中间状态
-
第五个是 Host 头:
- HTTP 1.0中 没有Host头字段,
- 而HTTP 1.1中 要求每个请求都包含 Host头字段,以 指示请求的目标主机。
-
第六个是 节约带宽:
-
HTTP 1.1 可以只发送header信息(不带任何body信息),如果服务器认为客户端有权限请求服务器,则返回100,否则返回401。
- 客户端如果接受到100,才需要发送请求body。
- 如果接收到401,客户端不用发送请求body,节约了带宽。
-
另外HTTP1.1还支持 传送内容的一部分。也就是客户端已经有一部分的资源后,只需要跟服务器请求另外的部分资源即可,这是支持文件 断点续传 的基础
-
【注】如何优化HTTP1.1?

- 通过 缓存技术 来避免发送 HTTP 请求。客户端收到第一个请求的响应后,可以将其缓存在本地磁盘,下次请求的时候,
- 如果缓存没过期,就直接读取本地缓存的响应数据。
- 如果缓存过期,客户端发送请求的时候带上响应数据的摘要,服务器比对后发现资源没有变化,就发出不带包体的 304 响应,告诉客户端缓存的响应仍然有效。
- 减少 HTTP 请求的次数,有以下的方法:
- 将原本由客户端处理的重定向请求,交给代理服务器处理,这样可以减少重定向请求的次数;
- 将多个小资源合并成一个大资源再传输,能够减少 HTTP 请求次数以及 头部的重复传输,再来减少 TCP 连接数量,进而省去 TCP 握手和慢启动的网络消耗;
- 按需访问资源,只访问当前用户看得到/用得到的资源,当客户往下滑动,再访问接下来的资源,以此达到延迟请求,也就减少了同一时间的 HTTP 请求次数。
- 压缩响应资源,降低传输资源的大小,从而提高传输效率,
- 应当选择更优秀的压缩算法。
相关文章:
8、HTTP/1.0和HTTP/1.1的区别【高频】
第一个是 长连接: HTTP/1.0 默认 短连接,(它也可以指定 Connection 首部字段的值为 Keep-Alive实现 长连接)而HTTP/1.1 默认支持 长连接,HTTP/1.1是基于 TCP/IP协议的,创建一个TCP连接是需要经过三次握手的…...
Rk3568驱动开发_开发环境的搭建_1
1、环境说明: 需要用官方的程序包,这个程序需要在虚拟机里编译再将镜像烧录到板子里,本质上是给板子上一套Linux操作系统,镜像是.img文件 Linux操作系统被分成了多个模块,编译好后储存在镜像里,本质上就和…...
Solr中得Core和Collection的作用和关系
Solr中得Core和Collection的作用和关系 一, 总结 在Apache Solr中,Core和Collection 是两个核心概念,他们分别用于单机模式和分布式模式(SolrCloud)中,用于管理和组织数据。 二,Core 定义&am…...
Visual Studio Code 远程开发方法
方法1 共享屏幕远程控制,如 to desk, 向日葵 ,像素太差,放弃 方法2 内网穿透 ssh 第二个方法又很麻烦,尤其是对于 windows 电脑,要使用 ssh 还需要额外安装杂七杂八的东西;并且内网穿透服务提供商提供的…...
如何看到 git 上打 tag 的时间
在 Git 中可以通过以下方法查看标签(tag)的创建时间: 使用 git show 命令: 运行以下命令可以查看某个特定标签的详细信息,包括创建时间: git show 输出中会包含 Tagger 的信息和 Date 字段,显示…...
【HarmonyOS Next】鸿蒙TaskPool和Worker详解 (一)
【HarmonyOS Next】鸿蒙TaskPool和Worker详解 (一) 一、TaskPool和Worker如何实现多线程?各自特点是什么? 在鸿蒙中通过TaskPool和Worker实现多线程并发,两者都基于Actor并发模型实现。 Actor并发模型,每…...
如何设置HTTPOnly和Secure Cookie标志?
设置HttpOnly和Secure标志于Cookie中是增强Web应用安全性的重要措施。这两个标志帮助防止跨站脚本攻击(XSS)和中间人攻击(MitM)。下面是关于如何设置这些标志的具体步骤: 设置方法 在服务器端设置 根据你的服务器端…...
几个api
几个api 原型链 可以阅读此文 Function instanceof Object // true Object instanceof Function // true Object.prototype.isPrototypeOf(Function) // true Function.prototype.isPrototypeOf(Object) // true Object.__proto__ Function.prototype // true Function.pro…...
Deepseek本地部署指南:在linux服务器部署,在mac远程web-ui访问
1. 在Linux服务器上部署DeepSeek模型 要在 Linux 上通过 Ollama 安装和使用模型,您可以按照以下步骤进行操作: 步骤 1:安装 Ollama 安装 Ollama: 使用以下命令安装 Ollama: curl -sSfL https://ollama.com/install.s…...
基于 DeepSeek+AutoGen 的智能体协作系统
用 AutoGen 实现智能体协作流程,假设团队里的 3 个角色,让 3 个角色相互交流后并给出不同方案,最后进行总结。下面是实现的思路,欢迎一起学习交流。 一、系统设计 1. sre_engineer_01 - 问题诊断与初步解决方案 职责:…...
博客系统笔记总结 2( Linux 相关)
Linux 基本使用和程序部署 基本命令 文件操作 显示当前目录下的文件 ls:显示当前目录下的文件 ll:以列表的形式展示,包括隐藏文件 进入目录 && 显示当前路径 cd:进入目录(后面跟相对路径或者绝对路径&…...
计算机毕业设计SpringBoot+Vue.js电影评论网站系统(源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
精美登录注册UI,登录页面设计模板
精美登录注册UI,登录页面设计模板 引言 在网页设计中,按钮是用户交互的重要元素之一。一个炫酷的按钮特效不仅能提升用户体验,还能为网页增添独特的视觉吸引力。今天,我们将通过CSS和JavaScript来实现一个“精美登录注册UI,登录页面设计模板”。该素材呈现了数据符号排版…...
《Linux系统编程篇》共享内存(Linux 进程间通信(IPC))——基础篇
文章目录 引言什么是共享内存System V 共享内存 API 引入1. shmget2. shmat3. shmdt4. shmctl5. 结构体 shmid_ds 开始实操注意 结束 今天的你有没有前进一小步呢 ——家驹(StrangeHead) 引言 那么共享内存,我们如何去使用他呢,先来听笔者啰嗦一段话吧…...
【EB-03】 AUTOSAR builder与EB RTE集成
AUTOSAR builder与EB RTE集成 1. Import Arxml files to Tresos2. Run MultiTask Script3. Add Components3.1 Run EcuExtractCreator Script4. Mapping Component to Partitions5. Event Mapping/Runnables Mapping to Tasks6. Port Connect7. Run SvcAs_Trigger Script8. Ver…...
HTML——前端基础1
目录 前端概述 前端能做的事情编辑 两步完成一个网页程序 前端工具的选择与安装 HTML HTML5介绍 HTML5的DOCTYPE声明 HTML基本骨架 文字标签 标题之标签 标签之段落、换行、水平线 标签之图片 标签之超文本链接 标签之文本 列表标签之有序列表 列表标签之无序…...
AI回答:Linux C/C++编程学习路线
Linux C/C编程学习路线需要结合Linux系统特性和C/C语言的特点,以下是一个系统化的学习路径,适合从初学者到进阶者: 第一阶段:Linux基础 Linux操作系统基础 学习Linux基本命令:ls、cd、mkdir、rm、grep、find等。 理解…...
螺旋数字矩阵
螺旋数字矩阵 真题目录: 点击去查看 E 卷 100分题型 题目描述 疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法: 给出数字个数n和行数m(0 < n ≤ 999,0 < m ≤ 999),从左上角的1开始,按照顺时针螺旋向内写方式,依次写出2,3…n,最终形成一…...
Jupyter Notebook切换虚拟环境(Kernel管理)
我们在使用Jupyter Notebook的时候,打开文件发现只有一个Python3(ipykernel),我们自己在conda中创建的虚拟环境为什么没有显示出来,今天我就来和大家一起讨论一下! 在 Jupyter Notebook 中,kernel 是执行代码的核心。管…...
linux下软件安装、查找、卸载
目录 常见安装方式有三种: 1.源码安装。 2.rpm安装方式。 3.yum/apt工具级别安装。 对于前两种安装方式,因为软件可能有依赖关系(安装的软件依赖于某些库,而这些库又依赖于某些库,这些都需要手动安装)…...
PostgreSQL运维实战:批量修改Schema下所有表Owner的三种方法(附完整脚本)
PostgreSQL运维实战:批量修改Schema下所有表Owner的三种方法(附完整脚本) 当数据库权限架构需要重构时,批量修改Schema下所有表的Owner是DBA常见的运维需求。本文将深入探讨三种实用方法,帮助你在生产环境中高效、安全…...
手把手调参:解决OpenCV光流法追踪“跟丢”和“鬼影”的实战指南
手把手调参:解决OpenCV光流法追踪“跟丢”和“鬼影”的实战指南 去年在开发一套工业质检系统时,我们遇到了一个棘手问题:传送带上的零件因为表面反光和快速移动,导致光流追踪频繁丢失目标。经过两周的密集调参和算法优化ÿ…...
OpenCore Legacy Patcher终极指南:4步解决老Mac显卡驱动与系统升级问题
OpenCore Legacy Patcher终极指南:4步解决老Mac显卡驱动与系统升级问题 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否还在为老款Mac无法升…...
【C】运算符优先级
优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右--()圆括号(表达式)/函数名(形参表)--.成员选择(对象)对象.成员名--->成员选择(指针)对象指针->成员名--2-负号运算符-表达式右到左单目运算…...
Windows系统终极优化方案:WinUtil一键管理工具完全指南
Windows系统终极优化方案:WinUtil一键管理工具完全指南 【免费下载链接】winutil Chris Titus Techs Windows Utility - Install Programs, Tweaks, Fixes, and Updates 项目地址: https://gitcode.com/GitHub_Trending/wi/winutil WinUtil是一款由Chris Tit…...
nli-distilroberta-base生产环境:低延迟NLI服务在实时对话系统中的嵌入
nli-distilroberta-base生产环境:低延迟NLI服务在实时对话系统中的嵌入 1. 项目概述 nli-distilroberta-base是一个基于DistilRoBERTa模型的轻量级自然语言推理(NLI)服务,专门为生产环境优化设计。它能快速判断两个句子之间的逻辑关系,为实…...
Embedding微调避坑指南:ms-swift里5种Loss函数到底怎么选?(附数据集格式样例)
Embedding微调实战:ms-swift框架中5种损失函数的深度选择指南 当你在ms-swift框架中进行Embedding模型微调时,损失函数的选择往往决定了整个项目的成败。面对InfoNCE、余弦相似度、对比学习等不同选项,很多开发者都会陷入"选择困难症&qu…...
CoPaw多模态理解初步探索:处理图像描述与图文关联任务
CoPaw多模态理解初步探索:处理图像描述与图文关联任务 1. 多模态理解的新尝试 最近在测试CoPaw模型时,我发现一个有趣的现象:虽然它并非原生支持多模态输入,但通过巧妙的提示工程,这个文本模型竟然能展现出对图像内容…...
前端团队协作:别让沟通成本拖垮你的项目
前端团队协作:别让沟通成本拖垮你的项目 什么是前端团队协作? 前端团队协作是指前端开发团队成员之间的协调与配合,包括代码管理、任务分配、沟通交流等方面。别以为前端开发只是写代码,团队协作不好,项目就会变成一场…...
黑苹果长期维护指南:从零开始打造完美macOS体验
黑苹果长期维护指南:从零开始打造完美macOS体验 【免费下载链接】Hackintosh Hackintosh long-term maintenance model EFI and installation tutorial 项目地址: https://gitcode.com/gh_mirrors/ha/Hackintosh 还在为找不到适合自己机型的黑苹果EFI而烦恼吗…...
