zoukankan      html  css  js  c++  java
  • Nginx如何启用ETag,提高访问速度

      ETag全称EntityTags,HTTP协议规格说明中定义“ETag”为“被请求变量的实体值”。

      我们也可以把ETag理解为是一个客户端与服务器关联的记号。这个记号告诉客户端,当前网页在上次请求之后是否有发生变化,当发生变化时,ETag的值重新计算,并返回200状态码。如果没有变化,返回304状态码。从而不会重新加载整个页面信息。

      以下会告诉你,Nginx如何开启ETag。

    1、确认Nginx版本,命令:Nginx安装目录/sbin/nginx–v,版本为1.7.3及更高,继续步骤2;版本为1.7.3以下,1.3.3及以上,进行步骤3;版本为1.3.3以下,不支持ETag,请升级您的Nginx。

    2、确认没有关闭ETag:打开Nginx的配置文件nginx.conf(默认位置Nginx安装目录/conf/),确保其中没有出现etagoff;,下图为出现的情况,请将此行删除。

      确认没有使用ngx_headers_more清除ETag头:同样在配置文件中不能出现如下语句的任意一句,如果出现请将其删除。

      重新启动Nginx,就启用ETag功能了。

    3、查看是否开启了gzip,且是否和etag出现冲突,出现冲突去步骤4,没有去步骤2。

      打开Nginx的配置文件nginx.conf(默认位置Nginx安装目录/conf/),其中出现gzip on;语句证明开启了gzip,如图

      开启gzip时,可能与etag出现冲突,用浏览器多次请求此网站的静态元素,如果只返回200,不返回304,证明存在冲突,请去步骤4;没有冲突去步骤2。

    4、请关闭gzip,即将上一步中的gzip on;改为gzip off;然后去步骤2。

  • 相关阅读:
    【源码解析】Flink 是如何处理迟到数据
    Flink assignAscendingTimestamps 生成水印的三个重载方法
    【翻译】生成 Timestamps / Watermarks
    【翻译】The Broadcast State Pattern(广播状态)
    基于Broadcast 状态的Flink Etl Demo
    git 更新fork的远程仓库
    Flink 在IDEA执行时的webui
    配置ssh免密,仍需要密码
    第二章 Kubernetes进阶之使用二进制包部署集群
    Kubernetes之Ingress
  • 原文地址:https://www.cnblogs.com/goloving/p/9379157.html
Copyright © 2011-2022 走看看