http缓存及http2配置

http缓存及http2配置极大提高了网页加载得速度

1.1 nginx安装

首先是需要安装nginx 去官网下载windows版本的安装包

nginx 命令

nginx start //启动
nginx -s stop
nginx -s reload // 重新运行
tasklist /fi "imagename eq nginx.exe" //进程

 把打包好的文件copy到nginx文件得html目录下

 1.2nginx 启用gzip压缩

http {

// 其他配置

    gzip  on;

    gzip_min_length 1k; //超过1k就压缩

    gzip_comp_level 6;

    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/json; //需压缩文件得类型

    gzip_buffers 4 16k;

    gzip_vary on;

    gzip_http_version 1.1;

        server {

        }

}

配置完成后 nginx -s reload 重新启动服务

输入curl -v  http://localhost:80可查看到http得版本或者在控制台也可以

配置详情

1.3启用http keep-alive

就是对tcp链接进行复用,http1.1默认开启了,可看到其他请求未有tcp链接减少网络开销

 

 额外配置

 keepalive_timeout  65; //65s后会关闭掉
 keepalive_requests 100; //请求超过多少就关闭

 1.4启用http缓存

第二种和第三种差不多 现在主要用第三种;第二种有坑这里客服端得得时间和服务器的时间会不同

配置:

server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
            try_files $uri /index.html;
            if ($request_filename ~* .*\.(?:htm|html)$) // 不缓存html
                {
                   add_header Cache-Control "no-cache, must-revalidate";  
                   add_header "Pragma" "no-cache";
                   add_header "expires" "no-cache";
                }
             if ($request_filename ~* .*\.(?:js|css)$) 
                {
                    expires 7d; // 过期时间7天 根据需求可适当延长时间这不是主要的 我们在webpack上用hash做了配置的更新后也会让旧文件缓存失效
                }
            if ($request_filename ~* .*\.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm)$) 
            {
                expires 7d;
            }
        }
 }       

1.5 service workers技术没有网络也可访问网站

每个框架都有对应的实现方式可自行查看

1.6 开启http2

http2优化点

1.多路复用 同个时刻多个请求并发成一个请求

2.服务器推送 重要的资源提前推送到客服端这些资源就不需要请求了

 

  1安装openssl 

去官网下载安装即可OpenSSL官方下载 - 码客,再配置系统环境变量

 

2 生成测试ssl证书,正式的ssl证书是需要付费的

openssl genrsa -des3 -passout pass:x -out server.pass.key 2048

openssl rsa -passin pass:x -in server.pass.key -out server.key 

openssl req -new -key server.key -out server.csr 

openssl x509 -req -sha256 -days 3650 -in server.csr -signkey server.key -out server.crt

 

配置

http {

server {

       listen 443 ssl http2;

       server_name  localhost;

    #    ssl on;

    location / {

           root   html;

              index  index.html index.htm;

            try_files $uri /index.html;

       }

       ssl_certificate      /Users/Admin/Downloads/ssl/server.crt; //路径根据实际调整

       ssl_certificate_key  /Users/Admin/Downloads/ssl/server.key;

       ssl_session_cache    shared:SSL:1m;

       ssl_session_timeout  5m;

       ssl_ciphers  HIGH:!aNULL:!MD5;

       ssl_prefer_server_ciphers  on;

    #    http2_push static/img/loginimg.jpg // 服务端推送

       

    }

}

 配置完成后nginx -s reload 访问是https://localhost;443 注意https

会无法访问直接输入thisisunsafe

总结:http1对比http2 多路复用 相比网络请求少了 从而减少资源消耗

http1

http2 

 

7-6 SSR技术(next插件)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于Panabit在资产平台中类型划分问题

现场同事问了一个问题:Panabit能不能当做CentOS接入? 我第一反应是:Panabit是个什么鬼?为啥要混编接入?后期维护都是事啊。所以,我就想回答:不能! 但是,最好要给出一个…

stable diffusion 局部重绘 reference-only api 接口调试

webUI api payload 插件生成的接口参数不准确,reference-only 的image不是对象,就是不同字符串字段,直接传,不是套image。 综上,那个插件参数不确定,应直接看插件的源码,看它接受什么参数 错误…

若依RuoYi-Vue分离版—富文本Quill的图片支持伸缩大小及布局

若依RuoYi-Vue分离版—富文本Quill的图片支持伸缩大小及布局、工具栏带中文提示 1.在vue.config.js 文件中添加 一下内容2.下载安装插件3.在Editor组件中引入插件4.使用Editor组件(特别注意要的加 v-if )5.bug 之 imageResize的 img的style丢失1.先创建一…

第九届信也科技杯全球AI算法大赛——语音深度鉴伪识别参赛A榜 0.968961分

遗憾没有进复赛,只是第41名。先贴个A榜的成绩。A榜的前三十名晋级,个个都是99分的大佬,但是B榜的成绩就有点低了,应该是数据不同源的问题,第一名0.78分。官网链接:语音深度鉴伪识别 官方baselin:https://g…

企业设备管理现状与解决方案

在当今企业运营中,设备管理作为保障生产稳定、提升效率的重要环节,其复杂性和挑战性日益凸显。无论是生产车间、石油化工、物业小区,还是消防器材、建筑施工等领域,都面临着设备故障频发、维修流程繁琐等共性问题。 为了帮助企业…

一个简单、快速用于训练和微调中等规模GPT模型的开源项目

大家好,今天给大家分享的是一个简单、快速用于训练和微调中等规模GPT模型的开源项目,该项目旨在拓宽深度学习领域的应用,特别是为深度学习的入门者提供便利。 Nano GPT是一个基于PyTorch的开源项目,由前特斯拉AI负责人Andrej Ka…

干货丨好用的上网行为管理软件有哪些?全网行为管理系统详解

在当今数字化办公环境中,员工的上网行为直接关系到企业信息安全、工作效率以及合规性。 为了有效管理网络资源,确保工作环境的高效与安全,一套强大的上网行为管理软件变得尤为重要。 本文将为您详细介绍几款市场上口碑良好的上网行为管理软件…

【mysql】排错和调优

通用的一些排错方法。 1、查看进程信息 mysql> show full processlist;mysql> show processlist; 2、information_schema information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。…

企业数据资产入表操作指引

在数字经济时代,数据已成为企业的关键生产要素,其管理和应用至关重要。数据资产入表操作涉及复杂的评估和管理过程,企业需要遵循合规性、真实性和透明性的原则。本指南旨在为企业提供系统化的操作指导,帮助实现数据资产的高效管理…

数据分析必备:一步步教你如何用matplotlib做数据可视化(6)

1、Matplotlib 网格 axes对象的grid()函数将图中网格的可见性设置为on或off。还可以显示网格的主要/次要(或两者)刻度。另外,可以在grid()函数中设置color,linestyle和linewidth属性。 参考以下示例代码 import matplotlib.pyplot as plt import numpy…

【DAMA】掌握数据管理核心:CDGA考试指南

引言:        在当今快速发展的数字化世界中,数据已成为组织最宝贵的资产之一。有效的数据管理不仅能够驱动业务决策,还能提升竞争力和市场适应性。DAMA国际一直致力于数据管理和数字化的研究、实践及相关知识体系的建设。秉承公益、志愿…

【吊打面试官系列-Mysql面试题】SQL 语言包括哪几部分?每部分都有哪些操作关键字?

大家好,我是锋哥。今天分享关于 【SQL 语言包括哪几部分?每部分都有哪些操作关键字?】面试题,希望对大家有帮助; SQL 语言包括哪几部分?每部分都有哪些操作关键字? SQL 语言包括数据定义(DDL)、…

终极版本的Typora上传到博客园和csdn

激活插件 下载网址是这个: https://codeload.github.com/obgnail/typora_plugin/zip/refs/tags/1.9.4 解压之后这样的: 解压之后将plugin,复制到自己的安装目录下的resources 点击安装即可: 更改配置文件 "dependencies&q…

Android采用Scroller实现底部二楼效果

需求 在移动应用开发中,有时我们希望实现一种特殊的布局效果,即“底部二楼”效果。这个效果类似于在列表底部拖动时出现额外的内容区域,用户可以继续向上拖动查看更多内容。这种效果可以用于展示广告、推荐内容或其他信息。 效果 实现后的…

论文阅读:基于谱分析的全新早停策略

来自JMLR的一篇论文,https://www.jmlr.org/papers/volume24/21-1441/21-1441.pdf 这篇文章试图通过分析模型权重矩阵的频谱来解释模型,并在此基础上提出了一种用于早停的频谱标准。 1,分类难度对权重矩阵谱的影响 1.1 相关研究 在最近针对…

Matlab|基于V图的配电网电动汽车充电站选址定容-可视化

1主要内容 基于粒子群算法的电动汽车充电站和光伏最优选址和定容 关键词:选址定容 电动汽车 充电站位置 仿真平台:MATLAB 主要内容:代码主要做的是一个电动汽车充电站和分布式光伏的选址定容问题,提出了能够计及地理因素和服…

XL5300 dTOF测距模块 加镜头后可达7.6米测距距离 ±4%测距精度

XL5300 直接飞行时间(dToF)传感器是一个整体方案dTOF 模组,应用设计简单。片内集成了单光子雪崩二极管(SPAD)接收阵列以及VCSEL激光发射器。利用自主研发的 SPAD 和独特的ToF 采集与处理技术,XL5300模块可实…

Linux相关

⽹络的性能指标 Linux ⽹络协议栈是根据 TCP/IP 模型来实现的, TCP/IP 模型由应⽤层、传输层、⽹络层和⽹络接⼝层,共四层组成,每⼀层都有各⾃的职责。 基本指标: 带宽,表示链路的最⼤传输速率,单位是 b…

手持风扇哪个品牌好?五大手持风扇品牌推荐!

随着炎热夏季的到来,手持风扇已成为人们出行的必备清凉神器。然而,面对市场上众多品牌的手持风扇,如何选择一款既时尚又高效的产品成为了许多消费者的难题。为了解决这个困扰,我们精心挑选了五大手持风扇品牌进行推荐。这些品牌不…

[Linux] vi编辑器

命令模式&文本模式 命令模式就输入命令然后执行,文本模式就是系统把你的输入都当成写进文件里的字符 切换模式: 刚进入默认是命令模式,按: i I a A o O 进入文本模式, 通过他们进入文本模式有什么不同? 然后按esc进…