为什么`curl -i` 没有任何缓存头?

问题描述

我使用的是 Ubuntu 18.04 桌面版 + Chrome (88.0.4324.182)。

我的 Web 应用程序在本地部署在 Envoy proxy 1.18.2 后面。今天我发现网页内容没有按预期刷新,所以我试图调查原因。

作为最初的尝试,我运行了 class MobileDeviceViewset(ModelViewSet): @action( methods=['get'],url_path='token',url_name='token',detail=True,) def get_token(self,request,*args,**kwargs) -> Response: ... @get_token.mapping.post @get_token.mapping.put @get_token.mapping.patch def update_token(self,**kwargs) -> Response: ... 这给了我输出

curl -i http://localhost

而且我注意到响应没有任何缓存规则,例如 HTTP/1.1 200 OK server: envoy date: Tue,04 May 2021 03:29:53 GMT content-type: text/html content-length: 3314 last-modified: Mon,03 May 2021 23:59:59 GMT etag: "60908e7f-cf2" accept-ranges: bytes x-envoy-upstream-service-time: 1 <!doctype html><html lang="en"><head><Meta charset="utf-8"/><link rel="icon" href="./256x256.png"/> ... (HTML stuff) ...</script></body></html> Cache-ControlPragma 等。但是通过阅读 MDN: HTTP caching我想应该至少有一个

例如,我运行 Expires 并在响应中得到 curl -i https://www.google.comexpires

cache-control

我的问题是:

  1. HTTP 响应应至少包含一个缓存标头,我是否正确?也许通常HTTP/2 200 date: Tue,04 May 2021 03:35:37 GMT expires: -1 cache-control: private,max-age=0 content-type: text/html; charset=ISO-8859-1 p3p: CP="This is not a P3P policy! See g.co/p3phelp for more info." server: gws x-xss-protection: 0 x-frame-options: SAMEORIGIN set-cookie: 1P_JAR=2021-05-04-03; expires=Thu,03-Jun-2021 03:35:37 GMT; path=/; domain=.google.com; Secure set-cookie: NID=214=HxQEdlwbMmwEPrt4ObSGRR6e9bd5W-QCaEOWwMTLzY8h3Q7trqtNy8AnN2pLPpyDZsoo3myNTnxAtsutpTvcKYQXAQQ2bV-Gitan1EjYT9Cww4l91tJRFrH9aIAJiO9A8hR6tSMtkjQzcRAwVzcEFB-rnKWT_8gcFnoivfBA960; expires=Wed,03-Nov-2021 03:35:37 GMT; path=/; domain=.google.com; HttpOnly alt-svc: h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" accept-ranges: none vary: Accept-Encoding
  2. 我猜 Cache-Control 可能与缓存标头有关,但在浏览了 Envoy 文档后,我没有发现它提到任何有关操作缓存标头的内容有人知道吗?
  3. 如果它与 Envoy 无关,我还能在哪里查看它? 这是否意味着某种依赖于浏览器的缓存持续时间?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...