Http知识

一、http协议

目前存在HTTP1.1(当前广泛运用的版本)、HTTP2.0和HTTP3.0协议,有以下的优点和缺点

1. HTTP1.1

优点:默认支持长连接,即在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟;

缺点:首部是明文的(cookies、token等之类),没有进行压缩;可能会造成http对头阻塞:当顺序发送的请求序列中的一个请求因为某种原因被阻塞时,在后面排队的所有请求也一并被阻塞,会导致客户端迟迟收不到数据。

2. HTTP2.0

优点:

  • 多路复用:所有的相同域名请求都通过同一个 TCP 连接并发完成,减少了等待时间;
  • 首部压缩,报文变为二进制;提供更快的传输速度;
  • 支持服务器推送,可以将客户端所请求的相关资源推送给客户端,减少客户端发送请求的次数和等待时间。(比如浏览器只请求了index.html,但是服务器把index.html、style.css、example.png全部发送给浏览器。)

缺点:存在兼容性问题和安全性问题

3. HTTP3.0:基于QUIC和UDP协议,提高了通信的平均速度

二、nginx配置http2.0

升级到Http2.0会使某些请求响应速度变快

nginx在nginx.conf配置http2.0

listen  443 ssl http2;

二、https

是在http协议的基础上用TLS/SSL进行加密(对称加密:各自都有公钥私钥,非对称加密:客户端有公钥,服务端有公钥和私钥)。SSL证书是保存在源服务器的数据文件,需要向CA申请,包括了特定的公钥私钥等信息,可以确保客户端和服务器身份的真实性和可信度。

三、http缓存:为了减少重复的网络请求,一般js、css、image会被缓存

1. 强制缓存:第一次请求,服务器会返回Cache-Control字段,告诉浏览器最大缓存过期时间max-age或者no-cache,比如地图请求max-age:0,public(可以被任意请求缓存),no-cache(可以在客户端存储资源,每次都必须去服务端做新鲜度校验,来决定从服务端获取新的资源(200)还是使用客户端缓存(304))

2. 协商缓存:第一次请求,服务器会返回Last-Modified(资源的最后修改时间)和ETag(资源的唯一标识,字符串),浏览器再次请求的时候会带上if-Modified-Since或if-None-Match去请求,服务器会进行比较,如果一致则304,从客户端缓存获取资源,如果不一致,则返回200,带上新的标识和资源;优先使用Etag,Last-Modified只能精确到秒,但是很多请求可能是毫秒级的

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Flutter框架:从入门到实战,构建跨平台移动应用的全流程解析

第一章:Flutter框架介绍 Flutter框架是由Google推出的一款跨平台移动应用开发框架。相比其他跨平台框架,Flutter具有更高的性能和更好的用户体验。本章将介绍Flutter框架的概念、特点以及与其他跨平台框架的比较,以及Flutter开发环境的搭建和…

应急物流 | 灾后早期阶段多目标选址路径问题的混合元启发式算法

解读作者:李奡,闫同仁 A hybrid meta-heuristic algorithm for the multi-objective location-routing problem in the early post-disaster stage Tongren Yan, Fuqiang Lu, Suxin Wang, Leizhen Wang, Hualing Bi Journal of industrial and managem…

设计原则之【接口隔离原则】,我只做我能做的事

文章目录 一、什么是接口隔离原则二、实例三、总结接口隔离原则与单一职责原则的区别 一、什么是接口隔离原则 接口隔离原则(Interface Segregation Principle, ISP)是指用多个专门的接口,而不使用单一的总接口,客户端不应该依赖…

【中级软件设计师】—(下午题)试题三精讲总结(四十二)

【中级软件设计师】—(下午题)试题三精讲总结(四十二) 一、关系 二、UML中的图 A包含B,那么A执行操作前必须要先执行B 试题一(2021年下半年) 试题2(2021年上半年) 官方…

Docker中部署监控

Docker概念 一、部署Prometheus+grafana环境 1.1 、部署Prometheus+grafana环境 docker pull registry.cn-hangzhou.aliyuncs.com/lhrbest/lhrprometheus:1.0 docker tag registry.cn-hangzhou.aliyuncs.com/lhrbest/lhrprometheus:1.0 lhrbest/lhrprometheus:1.01.2 、创建镜…

linux 定时器

Linux 系统实现底半部的机制主要有tasklet,工作队列和软中断。 tasklet 和工作队列都是调度中断底半部的良好机制,tasklet 基于软中断实现。 内核定时器也依靠软中断实现;内核中的延时是忙等待或者睡眠等待,为了充分利用CPU资源&#xff0c…

docker 搭建 Elasticsearch和Kibana 8.x版本

参考: docker入门:单机elasticsearch安装记录,保证无坑_8月日更_小鲍侃java_InfoQ写作社区 新建文件夹 同上文所述相同,需要在宿主机上挂载配置文件与数据文件。 mkdir -p /Users/louye/data/learn-data/elastic/config mkdir -p /Users/lo…

从地方旅游的宣传谈起:如何吸引主流媒体报道,强势刷屏?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 五一小长假已经过去好几天了,大家渐渐的从假期舒适的闲暇转到正常的工作生活中了,但利用五一热点宣传的余温还在继续,今天胡老师就i注意到一篇题为&am…

华为nqa实验拓扑案例

nqa是一种实时的网络性能探测和统计技术,可以对响应时间、网络抖动、丢包率等网络信息进行统计。如图1所示,接口备份与NQA联动功能配置相对简单,只需在本端RouterA上配置NQA测试例,并在RouterA的备份接口上配置接口备份与NQA联动&…

重写Properties类,实现对properties文件的有序读写,数据追加,解决中文乱码

前言 *.properties文件,是 Java 支持的一种配置文件类型,并且 Java 提供了 properties 类来读取 properties 文件中的信息。文件中以键值对 "键值"的形式,存储工程中会多次重复使用的配置信息,通过“Properties”类来读…

4.Redis10大数据类型

Redis10大数据类型 Which 101.String(字符串)2.List(列表)3.hash (哈希)4.Set(集合)5.zset(sorted set:有序集合)6.Redis GEO (地理空间)7.HyperL…

Linux最常用的15个基本命令

目录 Linux基本命令 命令1:ls (查看指定目录中有哪些内容) ls / 相当于查看根目录中的内容,相当于查看我的电脑 ls -l(小写l,或者使用ll)详细查看目录下所有内容 ls /usr/lib&#xff08…

“AI代劳”,跨域赋能“智慧企业”

随着全球数字信息化的到来,各大新兴行业企业也逐渐意识到“智慧化”转型的重要性,但目前仍有不少企业在面临着人力成本高、运营管理效率低、营销获客效果差、数据分析能力薄弱等瓶颈,那么,处于这些瓶颈期的企业该如何实现“智慧化…

【Java零基础入门篇】第 ④ 期 - 继承(二)

博主:命运之光 专栏:JAVA入门 学习目标 1.掌握继承性的主要作用、实现、使用限制; 2.掌握this和super的含义及其用法; 3.掌握方法覆写的操作; 4.掌握final关键字的使用; 5.掌握类变量、实例变量和局部变量的…

数据库创建与管理

目录 一、创建数据库 1.准备创建数据库 2.创建数据库实例分析 方法一:使用对象资源或企业管理器创建数据库 方法二:使用Transact-SQL命令创建数据库 二、管理数据库 1.修改数据库 使用SQL命令修改数据库 2&…

如何将ChatGPT训练成某个领域的专家!附完整示例!

背景 最近听了 八叉的一个ChatGPT讲座,讲的是如何将ChatGPT训练成领域专家,这样我们就可以用它来解决该领域的各种问题。 整个讲座中最让我印象深刻的就是训练方法,它是通过让ChatGPT向我们提问,然后由我们给出答案的方式进行训…

自学Java怎么找工作?好程序员学员大厂面试经验分享!

简历要详细: 简历中的项目用到的技术点和个人负责的模块尽量写详细一些。其次,根据自己项目中用到的熟悉的技术点,在个人技能介绍模块去突出,面试官基本会根据你简历上写的去提问的,这样我们回答起来就会更加得心应手。…

Web3中文|乱花渐欲meme人眼,BRC-20总市值逼近10亿美元

现在的Web3加密市场,用“乱花渐欲meme人眼”来形容再合适不过了。 何为meme? “meme”这个词大概很多人都不知道如何正确发音,并且一看到它就会和狗狗币Dogecoin等联系在一起。那它究竟从何而来呢? Meme:[mi:m]&#x…

【C++初阶】C++模版(初阶)

文章目录 前言泛型编程函数模版函数模板概念函数模板格式函数模板的原理函数模板的实例化1.隐式实例化2.显式实例化 函数模版的匹配规则 类模版类模板的定义格式类模板的实例化 总结 前言 C的模版也是相较于C语言更有优势的地方,正是有了模版,才让C真正…

Python基础入门(3)—— 什么是函数递归、字典、集合、文件操作、异常处理?

文章目录 01 | 🚘函数 && 递归🚔函数🚔递归 02 | 🚘字典03 | 🚘集合04 | 🚘文件05 | 🚘异常处理06 | 🚘习题 Better late than never. 迟做总比不做好;晚来总比不来好。 01 …