AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 977242
Accepted
Anthony Kong
Anthony Kong
Asked: 2019-07-31 02:23:09 +0800 CST2019-07-31 02:23:09 +0800 CST 2019-07-31 02:23:09 +0800 CST

为什么即使两者都是 HIT,cloudflare 也会返回两种不同格式的相同图像

  • 772

我在 Cloudflare 中打开了波兰语。

当图像首次在 chrome 中下载(Version 75.0.3770.142 (Official Build) (64-bit)在 OSX 中)时,chrome dev 控制台显示以下信息:

* age: 12286
* cache-control: public, max-age=31556926
* cf-bgj: imgq:85
* cf-cache-status: HIT
* cf-polished: degrade=85, origSize=25843, status=vary_header_present
* cf-ray: 4fe67aba4d6b6549-SYD
* content-length: 5951
* content-type: image/jpeg
* date: Tue, 30 Jul 2019 09:59:21 GMT
* etag: "9314546c183b5befa64e265c89dc981f"
* expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
* expires: Wed, 29 Jul 2020 15:48:07 GMT
* last-modified: Thu, 11 Jul 2019 06:18:02 GMT
* server: cloudflare
* status: 200

然后,当我以相同版本但以隐身模式访问相同图像时,我得到以下信息:

* age: 21
* cache-control: public, max-age=31556926
* cf-bgj: imgq:85
* cf-cache-status: HIT
* cf-polished: qual=85, origFmt=jpeg, origSize=25843
* cf-ray: 4fe68b808803da4a-SYD
* content-disposition: inline; filename="image.webp"
* content-length: 3764
* content-type: image/webp
* date: Tue, 30 Jul 2019 10:10:49 GMT
* etag: "9314546c183b5befa64e265c89dc981f"
* expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
* expires: Wed, 29 Jul 2020 15:59:35 GMT
* last-modified: Thu, 11 Jul 2019 06:18:02 GMT
* server: cloudflare
* status: 200

我不明白的是:如果两个访问都是 HIT(即 CDN 中有缓存的图像),为什么我得到了webp第二次?

在我的第一个请求中,标头如下所示:

:authority: public.my-server.com
:method: GET
:path: /image.jpg
:scheme: https
accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
accept-encoding: gzip, deflate, br
accept-language: en-GB,en-US;q=0.9,en;q=0.8,zh-TW;q=0.7,zh-CN;q=0.6,zh;q=0.5
cache-control: no-cache
cookie: __cfduid=xxxxx
pragma: no-cache
upgrade-insecure-requests: 1
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36

第二个请求很简单:

Origin: https://public.my-server.com
Referer: https://public.my-server.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36

为什么不同的图像类型?

cloudflare
  • 1 1 个回答
  • 1342 Views

1 个回答

  • Voted
  1. Best Answer
    LTPCGO
    2019-09-03T19:49:57+08:002019-09-03T19:49:57+08:00

    如果来自浏览器的 Accept 标头包含 WebP 并且压缩图像明显小于有损或无损压缩,则波兰语旨在生成 webp 。从此博客链接中,还可以看到'请注意,WebP 转换不会更改图像的 URL,即使 URL 中的文件扩展名意味着不同的格式。例如,已转换为 WebP的位于https://example.com/picture.jpg的 JPEG 图像仍具有相同的 URL。“Content-Type”HTTP 标头告诉浏览器图像的真实格式。'

    第一次加载时(jpg)可能来自浏览器自己的缓存,因为可用的缓存时间很长,但它显示了新的标题。在隐身模式下,它没有可用的缓存,因此采用了波兰语版本。至于为什么请求标头不同,这似乎是客户端问题,也许您已经更改了一些标志以仅在不隐身时发送某些标头?

    哦,而且,对于任何对为什么添加语言会弄乱图像感到完全困惑的人来说,波兰语是用于调整图像大小的 Cloudflare 功能,而不是语言!

    • 3

相关问题

  • OCSP 装订是否会提高 CloudFlare 背后网站的性能?

  • 我可以在 CDN 和源上使用相同的 SSL 证书吗

  • 如何使域在cloudflare后面接收电子邮件?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve