一级域名做网站,360搜索引擎的特点,软件开发工具免费,网站后台 全局配置本文绝对是全网解决这个问题唯一正确的文章#xff0c;没有之一#xff01;
很多人都说开启nginx gzip压缩#xff0c;这些人完全是胡说八道#xff01;你们到底懂不懂叫gzip压缩啊#xff1f;#xff01;
不信你就试试#xff0c;如果css/js只有gz文件#xff0c;ng…本文绝对是全网解决这个问题唯一正确的文章没有之一
很多人都说开启nginx gzip压缩这些人完全是胡说八道你们到底懂不懂叫gzip压缩啊
不信你就试试如果css/js只有gz文件nginx开启gzip浏览器就会直接报错Uncaught SyntaxError: Unexpected token 我最痛恨那些明明不懂却非要把复制粘贴未经验证的文章在网上乱发
这些傻吊还把gzip的原理夸夸其谈的说一大通然后把他们未经验证、抄来的配置贴上去。
然后网上就充斥了各种各样这种千篇一律复制粘贴误导人的垃圾文章而且没法真正解决问题
然后我再来说正题 gzip是啥意思。gzip是指nginx把没有经过压缩的css,js的原始文件进行zip压缩达到降低网络带宽加快页面加载速度但注意是基于css,js的原始文件进行zip压缩 这才是gzip使用的场景 好了那现在webpack已经把css,js压缩成gz格式了那请问你还需要nginx gzip干嘛
然后有人又要说了 css,js文件的原始文件不能删除要跟gz文件一起共存这样nginx gzip才能起作用
看看多么荒唐的言论 如果是这样的话我webpack干嘛压缩成gz格式我直接给你nginx原始文件不就完了吗
好了又有人说了启用gzip_static不就完了然后指定gzip_types不就ok了。
这个只能算说对了一个脚指头还是不正确不信你配置上去试试看一点鸟用就都没有
首先解释一下gzip_static: 它的意思的确是让nginx首先检查有没有gz格式的静态文件如果有的话就直接提供给浏览器。
但是nginx有个很大的问题它不是那么智能就算你在gzip_types里设置了js,css类型nginx也没法在客户端请求静态文件的时候自动提供gz文件。
那么这个问题到底应该怎么解决
首先感谢这个时代有chatgpt这个强大的工具它比搜索引擎这种目标性不强缺乏归纳总结的常规工具的确强很多倍。
但是呢chatgpt并不能在一开始给你正确答案。你需要懂得正确提问懂得正确的调教它才能得到你想要的正确答案。
比如说你如果问 nginx 怎么支持gz压缩格式css和js文件?
你是得不到正确答案的它可能就会胡说八道。
chatgpt 3.5为什么会有1750亿个参数那是因为它需要的参数越详细它回答的准确率才越高。
所以你在提问的时候给chatgpt的信息越详细越好这样才能得到正确的答案。
这个有点扯多了。
现在揭晓正确答案 你必须按照正则匹配css/js文件类型的形式来配置gzip_static规则这样才能有效 location ~* \.(js|css)$ { gzip_static on; expires max; } 因为前面已经说了nginx并不是很智能并不是你直接配置了gzip_static on和gzip_types它就能自动查找并提供gz格式的静态文件。
你需要在每一个虚拟主机的配置里面明确的告诉nginx匹配到什么类型的文件它才会优先查找并提供gz格式的文件。 答案本身并不复杂但是你在网上却找不到因为他们确实不知道但是又喜欢胡乱复制粘贴。