计算机网络3:HTTP1.0和HTTP1.1的区别
目录
- 1. HTTP是什么
- 2.HTTP1.0和HTTP1.1的区别
- 3.名词解释
- (1)If-Modified-Since(IMS)、Expires
- (2)If-None-Match,Etag
- (3)If-Unmodified-Since
1. HTTP是什么
超文本传输协议,就是在计算机的世界里,专门在两点之间传输文字、图片、视频、音频等超文本数据的约定和规范。
HTTP是客户端和服务器或服务器和服务器进行交互的通讯协议。
2.HTTP1.0和HTTP1.1的区别
** (1)使用时间:**
HTTP1.0是在1996年最早在网页上使用,HTTP1.1是在1999年开始广泛应用
(2)缓存处理:
- HTTP1.0:主要在请求头中使用If-Modified-Since(IMS)、Expires来作为缓存判断的标准
- HTTP1.1:引入更多的缓存控制机制,Entity tag,If-Unmodified-Since,If-Match,If-None_Match等缓存策略
(3)带宽优化及网络连接的使用: - HTTP1.0:存在浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送了过来,不支持断点续传
- HTTP1.1:处理更加灵活,在请求头中引入了range头域,允许只请求资源的某个部分,状态码是206(Partial Content),这样就方便了开发者自由选择以便于充分利用带宽和连接
(4)断点续传 - HTTP1.0:不支持断点续传,如果请求被中断,则必须重新再次发送,对于大文件的下载和传输不友好,尤其是在网络不好的情况下
- HTTP1.1:支持断点续传,利用HTTP消息头使用分块传输编码,将实体主体分块传输。垮掉了还能捡起来,很棒
(5)错误通知的管理 - HTTP1.1中新增了24个错误码,如409-请求的资源与资源的当前状态发生冲突;410-服务器上的某个资源被永久删除了
(6)Host头处理: - HTTP1.0:认为每台服务器都绑定唯一的IP地址,因此请求消息的URL中并没有传递主机名
- HTTP1.1:随着虚拟机技术的发展,一台物理服务器上可以存在多个虚拟主机,并且共享一个IP地址,这就需要我们在请求时指明是那台主机了。所以HTTP1.1的请求消息和响应消息都应支持Host头域,如果请求消息中没有Host头域,会报错(400)
(7)长连接和流水线 - HTTP1.0:短连接,每次请求都会重新建立连接。并且默认下一个请求必须等到当前请求得到响应之后才可以发出,如果由于网络延迟和带宽限制原因,下一条请求被送到服务器之前,可能要等很长时间。
- HTTP1.1:长连接和请求的流水线。只要客户端或服务器端任意一端没有明确提出断开TCP连接,就一直保持连接。而且同一次长连接可以连续发送多个HTTP请求,不用等待响应的返回。减少了建立和关闭连接的消耗和延迟,以及整体的响应时间。默认开启Connection:keep-alive
但服务器是按照顺序响应请求的,要是前面响应慢,后面的请求就排队,会造成-队头阻塞
3.名词解释
(1)If-Modified-Since(IMS)、Expires
IMS:浏览器第一次请求时,,服务器响应的响应头中会携带一个Last-Modified用来记录最后一次的修改时间并告知浏览器。之后当浏览器再次请求时,会携带一个IMS的请求头,把上次服务器告诉它的文件最后修改时间返回到服务器端了。
如果文件没有动过,服务器会返回304,不会发送页面。
如果两边时间不一致,就是文件被改动了,服务器就响应200,并发送新的页面内容
Expires:设置缓存过期时间
(2)If-None-Match,Etag
(3)If-Unmodified-Since
参考文章
https://www.cnblogs.com/moxiaotao/p/9670109.html
相关文章:
计算机网络3:HTTP1.0和HTTP1.1的区别
目录1. HTTP是什么2.HTTP1.0和HTTP1.1的区别3.名词解释(1)If-Modified-Since(IMS)、Expires(2)If-None-Match,Etag(3)If-Unmodified-Since1. HTTP是什么 超文本传输协议…...
Urho3D 编辑器说明
Urho3D编辑器是一个脚本应用程序,可以与Urho3D播放器应用程序一起运行。要开始,请执行以下任意命令:(在bin目录中)Editor.bat、Editor.sh或Urho3DPlayer Scripts/Editor.as Urho3D播放器应用程序支持的所有命令行选项…...
C++类基础(十一)
运算符重载(二) ● 对称运算符通常定义为非成员函数以支持首个操作数的类型转换 struct Str {int val 0;Str(int input): val(input){}auto operator(Str x){std::cout << "auto operator(Str x)\n";return Str(val x.val);} }; int …...
Windows安装系列:SVN Server服务
一、下载与安装 1、下载VisualSVN-Server-5.1.1-x64.msi 地址:Download | VisualSVN Server 2、找到最新版本SVN 5.1.1,直接双击它,弹出如下安装界面 3、点击Next 4、勾选我接受, 点击"Next" 5、默认选项,…...
快速傅里叶算法(FFT)快在哪里?
目录 前言 1、DFT算法 2、FFT算法 2.1 分类 2.2 以基2 DIT(时间抽取) FFT 算法为例 2.2.1 一次分解 2.2.2 多次分解 参考 前言 对信号分析的过程中,为了能换一个角度观察问题,很多时候需要把时域信号波形变换到频域进行分…...
利用Markdown写学术论文资料汇总贴
1是最详细的,重点看! Markdown 写作,Pandoc 转换:我的纯文本学术写作流程 2补充一些细节,也可以看看。 用Markdown写作学术论文 3写得和上面差不多,如果上面两篇有什么问题还没解决,可以看看…...
MySQL 高级查询
目录1.左关联2.右关联3.子查询4.联合查询5.分组查询1.左关联 MySQL中的左关联(Left Join)是一种基于共同列的连接操作, 它将左侧表中的所有行与右侧表中匹配的行结合在一起, 如果右侧表中没有匹配的行,则结果集中右侧…...
JavaSE学习day4_01 循环for,while,do...while
1. 循环高级 1.1 无限循环 for、while、do...while都有无限循环的写法。 最为常用的是while格式的。 因为无限循环是不知道循环次数的,所以用while格式的 代码示例: while(true){} 1.2 跳转控制语句(掌握) 跳转控制语句&…...
C/C++中的static关键字
概述在C/C中都有static关键字的使用,可以分别修饰变量和函数,分为静态变量【静态成员】、静态成员函数。2. static用法概况静态变量的作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0ÿ…...
67 自注意力【动手学深度学习v2】
67 自注意力【动手学深度学习v2】 深度学习学习笔记 学习视频:https://www.bilibili.com/video/BV19o4y1m7mo/?spm_id_fromautoNext&vd_source75dce036dc8244310435eaf03de4e330 给定长为n 的序列,每个xi为长为d的向量,自注意力将xi 既当…...
电子学会2022年12月青少年软件编程(图形化)等级考试试卷(二级)答案解析
青少年软件编程(图形化)等级考试试卷(二级) 一、单选题(共25题,共50分) 1. 一个骰子,从3个不同角度看过去的点数如图所示,请问5的对面是什么点数?( ) …...
关于链表中插入结点的操作……
服了,好久没敲链表了,这都忘了 newnode->next cur->next; cur->next newnode; newnode->next cur->next; cur->next newnode; newnode->next cur->next; cur->next newnode; newnode->next cur->next; cur-…...
【项目精选】百货中心供应链管理系统
点击下载源码 近年来,随着计算机技术的发展,以及信息化时代下企业对效率的需求,计算机技术与通信技术已经被越来越多地应用到各行各业中去。百货中心作为物流产业链中重要的一环,为了应对新兴消费方式的冲击,从供货到销…...
Qt优秀开源项目之十六:SQLite数据库管理系统—SQLiteStudio
首先,感谢CSDN官方认可 SQLiteStudio是一款开源、跨平台(Windows、Linux和MacOS)的SQLite数据库管理系统。 github地址:https://github.com/pawelsalawa/sqlitestudio 官网:https://sqlitestudio.pl/ 特性很多…...
Python __doc__属性:查看文档
在使用 dir() 函数和 __all__ 变量的基础上,虽然我们能知晓指定模块(或包)中所有可用的成员(变量、函数和类),比如:import string print(string.__all__)程序执行结果为:[ascii_lett…...
电子科技大学操作系统期末复习笔记(一):操作系统概述
目录 前言 操作系统概述 操作系统的目标与功能 操作系统的定义 目标 功能 操作系统的历史 单用户系统 简单批处理系统 多道批处理系统 分时系统 个人电脑 → 分布式系统 → 互联网时代 → 移动计算时代 → ...... 实时系统 操作系统的基本特征 并发 共享 虚拟…...
[实践篇]13.20 Qnx进程管理slm学习笔记(三)
【QNX Hypervisor 2.2用户手册】目录(完结) 4.2 模块 我们可以将组件组合成一个模块。模块中的进程可以组成一个子系统,也可以用于建立一组系统状态,例如基本操作和各种更高级别操作。注意,必须命名模块,以便可以在内部引用它们。而且每个模块必须描述成一个元素,形势如…...
冰冰学习笔记:多线程
欢迎各位大佬光临本文章!!! 还请各位大佬提出宝贵的意见,如发现文章错误请联系冰冰,冰冰一定会虚心接受,及时改正。 本系列文章为冰冰学习编程的学习笔记,如果对您也有帮助,还请各位…...
补充一些前端面试题
javascript有哪些库指路>js中的库uniapp和vue有什么区别什么是uniappuni-app(uni,读you ni,是统一的意思)是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web&#…...
七大设计原则之单一职责原则应用
目录1 单一职责原则介绍2 单一职责原则应用1 单一职责原则介绍 单一职责(Simple Responsibility Pinciple,SRP)是指不要存在多于一个导致类变更的原因。假设我们有一个 Class 负责两个职责,一旦发生需求变更,修改其中…...
[USACO23JAN] Leaders B
题面翻译 题面描述 FJ 有 NNN 头奶牛,每一头奶牛的品种是根西岛 G 或荷斯坦 H 中的一种。 每一头奶牛都有一个名单,第 iii 头奶牛的名单上记录了从第 iii 头奶牛到第 EiE_iEi 头奶牛的所有奶牛。 每一种奶牛都有且仅有一位“领导者”,对…...
C++模板初阶
C模板初阶泛型编程函数模板概念函数模板格式函数模板原理函数模板的实例化模板参数的匹配原则类模板类模板的定义格式类模板的实例化泛型编程 我们前面学习了C的函数重载功能,那么我们如何实现一个通用的交换函数呢,比如:我传入int就是交换intÿ…...
文献阅读:Scaling Instruction-Finetuned Language Models
文献阅读:Scaling Instruction-Finetuned Language Models 1. 文章简介2. 实验 1. 数据集 & 模型 1. 数据集考察2. 使用模型 2. scale up对模型效果的影响3. CoT对模型效果的影响4. 不同模型下Flan的影响5. 开放接口人工标注指标 3. 结论 文献链接:…...
gpt草稿
ChatgptWhatChatGPT(全名:Chat Generative Pre-trained Transformer [2])是由OpenAI开发的一个人工智能聊天机器人程序,于2022年11月推出。该程序使用基于GPT-3.5架构的大型语言模型并通过强化学习进行训练。ChatGPT里面有两个词&…...
mysal第三次作业
1、显示所有职工的基本信息。 2、查询所有职工所属部门的部门号,不显示重复的部门号。 3、求出所有职工的人数。 4、列出最高工和最低工资。 5、列出职工的平均工资和总工资。 6、创建一个只有职工号、姓名和参加工作的新表,名为工作日期表…...
分页和mmap
文章目录一、内存分页1、基本概念2、分页机制下,虚拟地址和物理地址是如何映射的?3、快表(TLB)二、mmap基本原理和分类一、内存分页 1、基本概念 CPU并不是直接访问物理内存地址,而是通过虚拟地址空间来间接的访问物理内存地址。 页&#x…...
C++之异常处理
异常异常是面向对象语言处理错误的一种方式。当一个函数出现自己无法处理的错误时,可以抛出异常,然后输的直接或者间接调用者处理这个错误。语法捕获全部的异常try {//可能抛出异常的代码//throw异常对象 } catch(...) {//不管什么异常,都在这…...
牛客寒假集训营6 E 阿宁的生成树
E-阿宁的生成树_2023牛客寒假算法基础集训营6 (nowcoder.com)开始慢慢补牛牛的题题意:最小生成树质数距离思路:最小生成树一共就两种算法,我们考虑Prim的过程初始连通块是1,然后考虑拿1和其他的结点连边当j-i<k时边权是gcd&…...
嵌入式C基础知识(10)
C语言如何实现一个频繁使用短小函数,C如何实现?C语言可以使用宏定义实现一个短小函数,如下面例子所示。但是宏定义语句不会进行检查,并且对书写格式有过分的讲究。比如MAX和括号之间不能有空格,每个参数都要放在括号里…...
TC3xx FlexRay™ 协议控制器 (E-Ray)-01
1 FlexRay™ 协议控制器 (E-Ray) E-Ray IP 模块根据为汽车应用开发的 FlexRay™ 协议规范 v2.1 执行通信【performs communication according to the FlexRay™ 1) protocol specification v2.1】。使用最大指定时钟,比特率可以编程为高达 10 Mbit/s 的值。连接到物…...
新公司名字注册查询/教程推广优化网站排名
使用领域模型,很少会像创建实际领域模型类、然后使用它们那么简单。很快你就会发现,领域模型必须得到相当数量的基础架构代码的支持。 领域模型所需基础架构当中最显著的当然是持久化——通常是持久化到关系型数据库中,也就是对象/关系&#…...
汽车制造行业网站模板/上海单个关键词优化
java课程设计报告--计算器设计 1 课 程 Java 程序设计 题 目 计算器设计 年 级 2010 级 专 业 信息一班 学 号 姓 名 组 员 指导教师 课程设计题目计算器设计 2 课程设计论文任务书 基础基础 学 院 信息与计算科学信息与计算科学 专 业 20101 班 一、课程设计论文题目 计算器的…...
做网站要不要营业执照/最近军事新闻热点大事件
郑重声明:本文纯属Fans同学的个人见解,仅供参考,欢迎拍砖。 软林至尊,Fans同盟。号令天下,莫敢不从。 Fans 1.老师教--这里的老师指大学教师。 优点:现场讲课,不懂可以问。 缺点:理…...
网站开发文档/安卓优化大师最新版下载
什么是阿里云轻量应用服务器? 轻量应用服务器是面向入门级云计算及简单应用用户,提供基于单台云服务器的域名管理、应用部署、安全和运维管理的一站式综合服务。用户可以选择精品应用镜像(比如wordpress),并可在控制…...
wordpress css导航/宁波seo推广公司排名
先来回顾下我们目前的进度: 加密算法的增删改查已经完成 后端 目前准备做一个加密功能函数,用来被各个执行类函数调用。 接收 url和body, 还有project_id 前端还要给普通接口、登录接口、小用例都加上 一个是否加密开关。 既然涉及到开关,那么其实也就是一个字段。 先…...
wordpress用户权限管理/sem优化
目前市面上管理BUG的平台很多,如 QC(Quality Center) 国际顶级,功能强大但收费。 Bugzilla 开源免费,功能还不错,但界面丑陋,配置繁琐。 EasyBUG 在线式,无需配置,但免费版的有10个人的人数…...