浏览器中的图像缓存 - app-engine-patch 应用程序

2024-04-05

我在浏览器中为应用程序引擎应用程序缓存图像时遇到一些问题 我正在发送上次修改、过期和缓存控制标头,但每次都会从服务器加载图像。 这是代码的标题部分:

响应['内容类型'] = '图像/jpg'

响应['上次修改'] = current_time.strftime('%a, %d %b %Y %H:%M:%S GMT')

响应['过期'] = current_time + timedelta(天=30)

响应['缓存控制'] = '公共,最大年龄=2592000'


这是我在 dpaste 中修复副本的示例代码here http://dpaste.com/hold/154503/

def view_image(request, key):
  data = memcache.get(key)  
  if data is not None:  
    if(request.META.get('HTTP_IF_MODIFIED_SINCE') >= data['Last-Modified']):  
      data.status_code = 304  
    return data  
  else:  
    image_content_blob = #some code to get the image from the data store  
    current_time = datetime.utcnow()
    response = HttpResponse()
    last_modified = current_time - timedelta(days=1)
    response['Content-Type'] = 'image/jpg'
    response['Last-Modified'] = last_modified.strftime('%a, %d %b %Y %H:%M:%S GMT')
    response['Expires'] = current_time + timedelta(days=30)
    response['Cache-Control']  = 'public, max-age=315360000'
    response['Date']           = current_time
    response.content = image_content_blob

    memcache.add(image_key, response, 86400)
    return response
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

浏览器中的图像缓存 - app-engine-patch 应用程序 的相关文章

随机推荐

  • Android:当片段更改时如何重新创建操作栏

    我有一个活动显示一些片段 Activity 视图仅包含使用自定义 FragmentPagerAdapter 初始化的 ViewPager 该适配器提供 3 个片段之间的导航 除了操作栏之外 一切似乎都工作正常 我在片段中重写 onCreat
  • Chrome 扩展:每个选项卡的存储空间

    我想将扩展的状态存储在单个文件中而不是存储在单个文件中chrome storage但每个选项卡 扩展是关于在任何页面上制作网格系统覆盖 并希望存储每个选项卡的最新更新 这里是一些代码 popup js function let gridTo
  • Android 中触摸时可以模糊部分图像吗?

    我想模糊图像视图上的特定区域 例如 我想允许用户在android中绘制类似于裁剪的矩形 一旦用户在图像上绘制该矩形 矩形内的区域将变得模糊 或手指触摸 我搜索了很多 但大多数示例都解释了如何模糊完整图像 找不到任何解释如何仅模糊某些部分的教
  • php preg_grep 和元音变音/重音

    我有一个由术语组成的数组 其中一些包含重音字符 我像这样做了 preg grep data array Napol on Caf result preg grep input i data 因此 如果用户输入 le 我还希望结果 Napol
  • Visual Studio打开文件问题

    是否可以在 Visual Studio 2008 中打开项目 而不打开上次打开项目时先前打开的所有文件 我习惯在处理许多文件时保持打开状态 因此下次我打开项目时 它 非常缓慢 将一堆文件加载到编辑器中 我什至可能不需要打开它们 我已经搜索了
  • 如何减少 UNIX telnet 连接超时

    我有一个 unix shell 脚本 用于测试文件中列出的多个主机的 ftp 端口 for i in cat ftp hosts txt do echo QUIT telnet i 21 done 一般来说 这个脚本可以工作 但是如果我遇到
  • C++ 从 0:n-1 (n > k) 范围内随机采样 k 个数字,无需放回

    我正在致力于将 MATLAB 模拟移植到 C 中 为此 我尝试复制 MATLABrandsample 函数 http www mathworks com help stats randsample html 我还没有找到有效的方法来做到这一
  • 当键具有无效名称时的 TypedDict

    如果我的字典中有一个带有无效标识符的键 例如A 2 我怎样才能创建一个TypedDict与这个领域 E g from typing import TypedDict class RandomAlphabet TypedDict A 2 st
  • PHP 文件是否有可能在执行时删除自身?

    我有一个 PHP 文件 安装 php 它处理其他脚本的安装 我希望该文件在运行后删除自身及其包含的文件夹 这可能吗 假设该文件夹仅包含 install php 的演示 mkdir demo cd demo echo
  • GetSystemMetrics 和 TScreen 返回错误值

    我使用的是德尔福XE5 我认为我的笔记本电脑有问题 一段时间后 它向 Screen Width 和 GetSystemMetrics SM CXSCREEN 返回错误的值 高度相同 我的操作系统是 Windows 7 64 位 我的笔记本电
  • 以编程方式将证书安装到 Mozilla 中

    有没有办法以编程方式将证书安装到 mozilla 中 我们正在尝试编写所有内容的脚本来消除环境偏差 因此通过 mozilla 首选项手动安装它无法满足我们的需求 我认为有一种方法可以使用 certutil 来做到这一点 但我不确定 Mozi
  • 如何存储类内函数之间使用的 cookie jar?

    我想听听您关于如何有效存储 cookie 的建议 这些 cookie 将在类中由其他函数使用 我当前的代码如下所示 class SomeClass def init self username password self logged in
  • 不同长度的数组到一个 CSV

    如果您有多个不同长度的数组 如何将它们导出到 powershell 中的单个 csv 中 Array1 1 2 3 Array2 Bob smithy Alex Jeremy Array3 yes no 输出 CSV Number Name
  • Visual Studio 2008 中的“if 语句”之类的垂直线?

    是否有插件或设置可以添加垂直线来链接 Visual Studio 2008 中的 if 语句 之类的内容 Thanks 来自 DevExpress 的 CodeRush http www devexpress com Products Vi
  • AppStore 提交被拒绝 - 应用程序不允许使用 UDID

    我正在尝试将应用程序上传到 AppStore 但上传后我收到此错误 您的应用程序包含非公共 API 使用 请检查错误并更正它们 然后重新提交您的应用 应用程序不允许使用UDID 也不能使用UIDevice的唯一标识方式 请更新您的应用程序的
  • Python 数据结构开销/性能

    在 Python 中使用列表比使用字典和元组有任何性能优势吗 如果我正在优化速度 是否有任何理由选择其中一种而不是另一种 Rich 列表和字典是适合不同需求的野兽 确保您不使用列表进行线性搜索 其中字典哈希是完美的 因为它的速度要慢得多 另
  • 使用 .resx 文件和卫星程序集是否有性能差异?

    在构建本地化的 aspx Web 应用程序 卫星程序集的 resx 文件 时 哪种方法是最好的前进方式 网络上是否有任何可用的性能比较 嗯 不知道这样的比较是否有效 ResX 是一种以 XML 形式存储资源的存储格式 在嵌入 如果指定 到程
  • 使用 numpy 保存列表时内存不足

    我有一个相当大的列表 代表搜狗文本分类数据集中的标记 我可以处理 450 000 的整个训练集 并剩下 12 GB 的内存 但是当我在列表列表上调用 numpy save 时 内存使用量似乎增加了一倍 并且内存不足 为什么是这样 numpy
  • 在预构建的 docker 容器中更改用户的 uid (jenkins)

    我是 docker 的新手 所以如果这是我遗漏的一个相当明显的过程 我确实为前面的愚蠢问题道歉 我正在使用以下命令设置持续集成服务器jenkins泊坞窗图像 我做了一个docker pull jenkins 并创建了一个用户jenkins让
  • 浏览器中的图像缓存 - app-engine-patch 应用程序

    我在浏览器中为应用程序引擎应用程序缓存图像时遇到一些问题 我正在发送上次修改 过期和缓存控制标头 但每次都会从服务器加载图像 这是代码的标题部分 响应 内容类型 图像 jpg 响应 上次修改 current time strftime a