当前位置: 首页 > 面试题库 >

使用Flask,如何修改ALL输出的Cache-Control标头?

步炯
2023-03-14
问题内容

我尝试使用这个

@app.after_request
def add_header(response):
    response.headers['Cache-Control'] = 'max-age=300'
    return response

但这会导致出现重复的Cache-Control标头。我只想要max-age = 300,而不是max-age = 1209600行!

$ curl -I http://my.url.here/
HTTP/1.1 200 OK
Date: Wed, 16 Apr 2014 14:24:22 GMT
Server: Apache
Cache-Control: max-age=300
Content-Length: 107993
Cache-Control: max-age=1209600
Expires: Wed, 30 Apr 2014 14:24:22 GMT
Content-Type: text/html; charset=utf-8

问题答案:

使用response.cache_control对象 ; 这是一个ResponseCacheControl()实例,可让你直接设置各种缓存属性。此外,如果已经有一个重复的标题,请确保不要添加重复的标题。

@app.after_request
def add_header(response):
    response.cache_control.max_age = 300
    return response


 类似资料:
  • 我使用的是Apache camel 2.15.1版本。在本文中,我将servlet组件用于rest dsl。我的简单路线如下所示 我需要设置Cache-Control和Pragma头以进行响应。 但是骆驼忽略了这一点。我看了几个其他人的博客,建议使用自定义的HeaderFilterStrategy。我也尝试过这个。没有帮助。 https://access.redhat.com/documentat

  • Cache-Control通用头字段用于指定在两个,请求和响应的缓存机制的指令。缓存指令是单向的,这意味着请求中的给定指令并不意味着将在响应中给出相同的指令。 Header type General header Forbidden header name no CORS-safelisted response-header yes 语法 这些指令不区分大小写,并且有一个可选参数,可以同时使用令牌

  • 问题内容: 我需要编写一个简单的基于终端的程序, 使用包裹在BufferedReader中的FileReader从文件中读取一些文本。 将文本打印到控制台,用户应该可以对其进行修改。 输入Enter + S后,程序应读取修改后的文本并将其保存回原始文件。 总而言之,这个想法是为没有GUI的类Unix环境编写一个文本编辑器。 但是,我在步骤2和3中遇到问题。 System.out打印的所有文本都是不

  • 问题内容: 我试图对Java Html Document进行一些改进,但是我遇到了与之相关的问题。一件事是,如果用户代理是Java VM,则某些服务器会阻止请求。另一个问题是不会设置或标头字段。由于多个站点使用这些字段来验证是否从其自己的站点访问了内容,因此在此也将我屏蔽了。据我所知,唯一的解决方案是替换HTTP协议的URL处理程序。还是有任何方法可以修改默认的HTTP处理程序? 问题答案: 打开

  • 在我的servlet过滤器中,我设置了以下响应标头以启用一些资源的缓存: 所以,您能解释一下为什么或者如何在我的servlet过滤器(在JBoss AS 7上部署的JSF/PrimeFaces应用程序中)中设置的值作为http响应标头在chrome中未被修改,但在firefox和IE中却发生了变化。我自己没有编写任何可能覆盖这个头的javascript。实际上,我试图为所有提到的三个浏览器启用“相

  • 我用的是Rails 4.2 Ruby 2.2 我生成了一个新的应用程序使用:rails的新应用程序-Skip-链轮 我所有的Gulp任务都成功运行(其中很多任务:从Gulp changed和Gulp livereload到Gulp minify css、Gulp uncss和其他)。 使用gulp rev all,我能够生成具有MD5指纹命名约定的所有资产。 它们被正确保存到rev-manifes