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.mzph.cn/pingmian/30435.shtml

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

相关文章

PyTorch -- RNN 快速实践

RNN Layer torch.nn.RNN(input_size,hidden_size,num_layers,batch_first) input_size: 输入的编码维度hidden_size: 隐含层的维数num_layers: 隐含层的层数batch_first: True 指定输入的参数顺序为: x:[batch, seq_len, input_size]h0:[batc…

使用密钥对登录服务器

目录 1、使用密钥文件登录服务器 2、登录成功画面: 3、如若出现以下状况,则说明密钥文件登录失败 1、使用密钥文件登录服务器 首先需要上传pem文件 2、登录成功画面: 3、如若出现以下状况,则说明密钥文件登录失败 解决方法&…

嵌入式技术学习——Linux环境编程(高级编程)——shell编程

一、shell编程的基础介绍 1.为什么要进行shell编程? 在Linux系统中,虽然有各种各样的图形化接口工具,但是shell仍然是一个非常灵活的 工具。 Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。 您可以通过使用shell使大量的任务自动化…

Django:如何将多个数据表内容合在一起返回响应

一.概要 Django写后端返回响应时,通常需要返回的可能不是一个数据表的内容,还包括了这个数据表的外键所关联的其他表的一些字段,那该如何做才能把他们放在一起返回响应呢? 二.处理方法 在这里我有三个数据表 第一个是航空订单&…

内聚性越高,模块独立性越强

内聚性(Cohesion)是衡量模块内部元素彼此关联程度的指标,而模块独立性(Coupling)则是指模块之间相互依赖的程度。这两个概念在软件工程中是评估设计质量的重要标准。 ### 内聚性: - **高内聚性**意味着模块…

内核学习——0、内核各类机制

1、应用读取驱动四种基本方式:阻塞、非阻塞、poll、异步通知 驱动构造file_operation结构体,里面有open、read、wirte等函数 查询:相当于应用程序非阻塞方式, O_NONBLOCK 休眠–唤醒:相当于应用程序阻塞方式 poll方式…

mfc140.dll电脑文件丢失的处理方法,这4种方法能快速修复mfc140.dll

mfc140.dll文件是一个非常重要的dll文件,如果它丢失了,那么会严重的影响程序的运行,这时候我们要找方法去修复mfc140.dll这个文件,那么你知道怎么修复么?如果不知道,那么不妨看看下面的mfc140.dll文件丢失的…

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

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

集合系列(二十六) -利用LinkedHashMap实现一个LRU缓存

一、什么是 LRU LRU是 Least Recently Used 的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。 简单的说就是,对于一组数据,例如:int[] a {1,2,3,4,5,6},…

git从master分支创建分支

1. 切换到主分支或你想从哪里创建新分支 git checkout master 2. 创建并切换到新的本地分支 develop git checkout -b develop 3. 将新分支推送到远程存储库 git push origin develop 4. 设置本地 develop 分支跟踪远程 develop 分支 git branch --set-upstream-toorigi…

Clickhouse Projection

背景 Clickhouse一个视图本质还是表,只支持一种order By,不然要维护太多的视图。 物化视图能力有限。 在设计聚合功能时,考虑使用AggregatingMergeTree表引擎,现在有了projections,打算尝试使用一下 操作 ADD PROJE…

利用冲激平衡法,设冲激响应h(t)的形式(通过求特征根 再转 齐次方程形式)

让我们详细解释一下所谓的“冲激平衡法”(或“冲激响应法”)以及为什么在这个方法中假设冲激响应 ( h(t) ) 的形式为特定的指数函数组合是合理的。 冲激平衡法的基本思想 冲激平衡法的基本思想是通过假设冲激响应 ( h(t) ) 的特定形式,并将…

项目经理真的不能太“拧巴”

前期的项目经理经常是“拧巴”的,就是心里纠结、思路混乱、行动迟缓。对于每天需要面对各种挑战、协调各方资源、确保项目顺利进行的项目经理来说,这种“拧巴”不仅会让自己陷入内耗中,还会让项目出大问题。 项目计划总是改来改去&#xff0…

编程奇境:C++之旅,从新手村到ACM/OI算法竞赛大门(中级武器:并查集)

我们都知道,朋友的朋友也可以是朋友,并查集就是这么一种武器,能够让自己广交天下之友。 并查集 并查集啊,想象一下你班上的同学们都在操场上自由活动。突然老师说:“大家找朋友手拉手围成圈玩个游戏!”这…

SpringBoot配置第三方专业缓存技术Ehcache

Ehcache缓存技术 我们刚才是用Springboot提供的默认缓存技术 我们用的是simple 是一个内存级的缓存 我们接下来要使用专业的缓存技术了 Ehcache 是一个流行的开源 Java 分布式缓存,由 Terracotta 公司开发和维护。它提供了一个快速、可扩展、易于集成的内存缓存…

LeetCode 每日一题 2748. 美丽下标对的数目

Hey编程小伙伴们👋,今天我要带大家一起解锁力扣上的一道有趣题目—— 美丽下标对的数目 - 力扣 (LeetCode)。这不仅是一次编程挑战,更是一次深入理解欧几里得算法判断互质的绝佳机会!🎉 问题简介 题目要求我们给定一…

如何制定适合不同行业的新版FMEA培训计划?

在快速变化的市场环境中,失效模式与影响分析(FMEA)作为一种预防性的质量控制工具,越来越受到企业的重视。然而,不同行业在FMEA应用上存在着明显的差异,因此制定适合不同行业的新版FMEA培训计划显得尤为重要…

Sui主网升级至V1.27.2版本

其他升级要点如下所示: 重点: #17245 增加了一个新的协议版本,并在开发网络上启用了Move枚举。 JSON-RPC #17245: 在返回的JSON-RPC结果中增加了对Move枚举值的支持。 GraphQL #17245: 增加了对Move枚举值和类型的支持。 CLI #179…

kubernetes node 节点管理

kubernetes node 节点管理 1 查看集群信息 kubectl cluster-info 2 查看节点信息 2.1 查看node信息 kubectl get nodes 2.2 查看node细致信息 kubectl get nodes -o wide 2.3 查看node描述详细信息 kubectl describe node <node-name> 2.4 查看节点资源使用情况…

明基的台灯值得入手吗?书客、柏曼真实横向测评对比

如今&#xff0c;近视问题在人群中愈发凸显&#xff0c;据2024年的最新统计数据揭示&#xff0c;我国儿童青少年的近视率已经飙升至惊人的52.7%。在学业日益繁重的背景下&#xff0c;学生们的视力健康成为了社会各界关注的焦点。近视不仅影响视力&#xff0c;还可能引发一系列严…