计算机网络3:HTTP1.0和HTTP1.1的区别

news2024/12/23 12:47:32

目录

  • 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/340092.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023全新SF授权系统源码 V3.7全开源无加密版本,亲测可用

2023全新SF授权系统源码 V3.7全开源无加密版本。网站搭建很简单,大致看来一下应该域名解析后上传源码解压,访问域名/install就能直接安装。 程序功能简介: 1.盗版入库(26种) 2.快捷登录 3.采用layuiadmin框架 4.易支付认证功能 5.程序自带商城系统…

SSO(单点登陆)

Single Sign On 一处登陆、处处可用 0、前置概念: 1)、单点登录业务介绍 早期单一服务器,用户认证。 缺点:单点性能压力,无法扩展 分布式, SSO(single sign on)模式 解决 : 用户身份信息独…

微信小程序Springboot vue停车场车位管理系统

系统分为用户和管理员两个角色 用户的主要功能有: 1.用户注册和登陆系统 2.用户查看系统的公告信息 3.用户查看车位信息,在线预约车位 4.用户交流论坛,发布交流信息,在线评论 5.用户查看地图信息,在线导航 6.用户查看个…

Win11自定义电脑右下角时间显示格式

Win11自定义电脑右下角时间显示格式 一、进入附加设置菜单 1、进入控制面板,选择日期和时间 2、选择修改日期和时间 3、选择修改日历设置 4、选择附加设置 二、自定义时间显示出秒 1、在选项卡中,选时间选项卡 2、在Short time的输入框中输入H:m…

家政服务小程序实战教程04-页面传参及表单容器

我们在上一篇已经介绍了在生命周期函数中预加载会员信息,首次使用小程序的用户需要进行注册,注册的时候需要选择对应的角色,本篇我们就介绍会员注册的功能。 01 创建页面 会员注册,我们分两个页面,一个是角色选择页面…

VSCode Markdown写作引入符合规范的参考文献

Markdown可以用来写论文,写论文的时候无一例外要用到参考文献,今天来谈谈怎么自动生成参考文献。之前讲了怎么导出的pdf,文章在这里 VSCode vscode-pandoc插件将中文Markdown转换为好看的pdf文档(使用eisvogel模板) …

CMake中target_precompile_headers的使用

CMake中的target_precompile_headers命令用于添加要预编译的头文件列表&#xff0c;其格式如下&#xff1a; target_precompile_headers(<target><INTERFACE|PUBLIC|PRIVATE> [header1...][<INTERFACE|PUBLIC|PRIVATE> [header2...] ...]) # 1 target_preco…

select 与 where、group by、order by、limit 子句执行优先级比较

当 select 和 其他三种语句的一者或者多者同时出现时&#xff0c;他们之间是存在执行先后顺序的。 他们的优先级顺序是&#xff1a;where > group by > select > order by > limit 目录 1、select 与 where 2、group by 与 where 、select 2、select 与 order…

【Call for papers】CRYPTO-2023(CCF-A/网络与信息安全/2023年2月16日截稿)

Crypto 2023 will take place in Santa Barbara, USA on August 19-24, 2023. Crypto 2023 is organized by the International Association for Cryptologic Research (IACR). The proceedings will be published by Springer in the LNCS series. 文章目录1.会议信息2.时间节…

C++定位new用法及注意事项

使用定位new创建对象&#xff0c;显式调用析构函数是必须的&#xff0c;这是析构函数必须被显式调用的少数情形之一&#xff01;&#xff0c; 另有一点&#xff01;&#xff01;&#xff01;析构函数的调用必须与对象的构造顺序相反&#xff01;切记&#xff01;&#xff01;&a…

分步骤详解随机生成一个登录验证码的算法,最后给出完整代码

需要安装第三方模块pillow import randomfrom PIL import Image, ImageDraw, ImageFont步骤一&#xff1a;编写一个生成随机颜色的函数 def get_random_color():return random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)步骤二&#xff1a;在面板里放…

31 岁生日快乐,Linux!

Linux 迎来了 31 岁生日&#xff0c;所以和我一起庆祝 Linux 的 31 岁生日吧&#xff0c;喝上一杯好香槟和一个美味的蛋糕&#xff01;虽然有些人不承认 8 月 25 日是 Linux 的生日&#xff0c;但我知道。1991 年 8 月 25 日&#xff0c;21 岁的芬兰学生 Linus Benedict Torval…

三种方式查看linux终端terminal是否可以访问外网ping,curl,wget

方法1&#xff1a;ping注意不要用ping www.google.com.hk来验证&#xff0c;因为有墙&#xff0c;墙阻止了你接受网址发回的响应数据。即使你那啥过&#xff0c;浏览器都可以访问Google&#xff0c;terminal里面也是无法得到响应 百度在墙内&#xff0c;所以可以正常拿到响应信…

二分法攻略

本节内容只有通过例题来记录效果才是最好的,请看下面内容&#xff01; 递归实现二分法 经典二分查找问题&#xff1a;LintCode 炼码 描述**&#xff1a;**在一个排序数组中找一个数&#xff0c;返回该数出现的任意位置&#xff0c;如果不存在&#xff0c;返回 -1。 输入&…

java spring完全注解开发

其实学习注解之后 我们也只有一个开启扫描需要xml的配置了 而 这一步 其实也是可以写到类里面的 我们这边先创建一个java项目 然后引入 spring需要的几个基本包 在src中创建一个包 叫 Bean Bean下创建 一个包 叫 UserData UserData 包下创建一个类 我这里叫 User 参考代码如…

Java List集合

6 List集合 List系列集合&#xff1a;添加的元素是有序&#xff0c;可重复&#xff0c;有索引 ArrayList: 添加的元素是有序&#xff0c;可重复&#xff0c;有索引LinkedList: 添加的元素是有序&#xff0c;可重复&#xff0c;有索引Vector &#xff1a;是线程安全的&#xff…

初识数据仓库

一、什么是数据仓库数据库 --> OLTP&#xff1a;&#xff08;on-line transaction processing&#xff09;翻译为联机事务处理记录某类业务事件的发生&#xff0c;如购买行为&#xff0c;银行交易行为&#xff0c;当行为产生后&#xff0c;系统会记录是谁在何时何地做了何事…

day11_python虚拟环境安装与配置

文章目录Windows下安装第一步&#xff0c;安装virtualenv改源参考第二步&#xff0c;安装virtualenvwrapper-winUbuntu下安装第一步、安装virtualenv和virtualenvwrapper第二步、配置.bashrc文件&#xff0c;添加下面三行第三步&#xff0c;用下列命令让修改后的.bashrc生效配置…

今天来聊一聊信息差,或许会刷新你的认知

有人会说&#xff1a;现在互联网信息这么发达&#xff0c;获取信息的渠道也越来越多&#xff0c;还会存在信息差吗&#xff1f;我的回答是&#xff1a;会&#xff0c;而且随着社会高速的发展&#xff0c;信息差会越来越明显。这里大家需要了解一个词&#xff1a;信息茧房信息茧…

植物育种中广义遗传力的定义

大家好&#xff0c; 我是邓飞。 今天聊一下广义遗传力的计算方法。 广义遗传力定义 广义遗传力&#xff08;H2H^2H2&#xff09;定义为归因于基因型总体遗传变异的表型变异比例。 通常他包括三个解释&#xff1a;&#xff08;详见我这篇博客的公式推导 回归系数 相关系数 遗…