zoukankan      html  css  js  c++  java
  • httpd配置ResponseHeader

      今天遇到一个问题:我把项目编译后的静态文件发布到开发机上,开发机使用httpd启的静态文件服务,页面的访问是在特制的壳浏览器里面,我更新了代码后,发现页面被缓存了,找到壳的RD联调了一下,发现我的主页html的ResponseHeader里面没有Cache-Control字段,如何添加该字段呢,于是翻看了一些资料,把问题顺利解决后,把解决问题的过程分享给大家。

      1.查找官网文档,找到设置HTTP request and response headers的模块,mod_headers;

      2.根据官网解释,mod_headers模块主要提供了两个指令来管理request和response header;

      (1)Header 指令

      主要用于配置response header,支持替换、合并、删除response header中的字段,基本语法如下:

    Header [condition] set|append|add|unset|echo header [value] [env=[!]variable]

      (2)RequestHeader指令

      主要用于配置request header,支持替换、合并、删除request header中的字段,基本语法如下:

    RequestHeader [condition] set|append|add|unset header [value] [env=[!]variable]

      (3)指令出现的地方与优先级

      以上两个指令几乎可以在配置文件任意地方出现,可以在 <Directory><Location>, <Files> 部分, 可以在 .htaccess 文件中,也可以出现在虚拟主机配置中,但是有优先级的区别,官方给出的优先级:

    The directives are processed in the following order:

    1. main server
    2. virtual host
    3. <Directory> sections and .htaccess
    4. <Files>
    5. <Location>

      3.了解了基本配置规则,接下来就是动手操作了。

      (1)在httpd.conf文件确保mod_headers模块被加载

    LoadModule headers_module MODULES_PATH/mod_headers.so

      (2)使用Header指令,进行set操作

    <IfModule headers_module>
      Header set Cache-Control no-cache
    </IfModule>

      经过以上三个步骤,重启了httpd,完美解决问题。

  • 相关阅读:
    envoy部分二: envoy的配置组件
    envoy部分一:enovy基础
    envoy部分四:envoy的静态配置
    envoy部分七:envoy的http流量管理基础
    envoy部分六:envoy的集群管理
    十七、Kubernetes的网络管理模型
    SQL 日期时间函数
    JSON 和 JavaScript eval
    Ajax 读取.ashx 返回404
    Repeat 数据为空时的处理
  • 原文地址:https://www.cnblogs.com/wmhuang/p/6833173.html
Copyright © 2011-2022 走看看