2017-03-22 77 views
1

我在使用Cloudflare的服務器上的資源上運行curl,因爲它是CDN。但是,我不確定它是否緩存。Cloudflare - 無CF緩存狀態 - 緩存與否?

下面是從A輸出 - 這是一個我不知道的緩存:

Resource A:

< HTTP/1.1 530 
< Date: Wed, 22 Mar 2017 12:47:06 GMT 
< Content-Type: text/html; charset=UTF-8 
< Transfer-Encoding: chunked 
< Connection: close 
< Set-Cookie: __cfduid=<numbers>; expires=Thu, 22-Mar-18 12:47:05 GMT; path=/; domain=.<domain>; HttpOnly 
< Cache-Control: max-age=6 
< Expires: Wed, 22 Mar 2017 12:47:12 GMT 
< X-Frame-Options: SAMEORIGIN 
< Server: cloudflare-nginx 
< CF-RAY: <numbers>-LHR 

Resource B: - 這顯然是緩存,因爲它有一個CF-Cache-Status: HIT

< HTTP/1.1 200 OK 
< Date: Wed, 22 Mar 2017 12:47:56 GMT 
< Content-Type: image/png 
< Content-Length: 3853 
< Connection: keep-alive 
< Set-Cookie: __cfduid=<numbers>; expires=Thu, 22-Mar-18 12:47:56 GMT; path=/; domain=<domain>; HttpOnly 
< Cf-Bgj: imgq:100 
< Cf-Polished: pngoptimizer, origSize=5384 
< Etag: "<etag>" 
< Last-Modified: Fri, 17 Mar 2017 00:07:20 GMT 
< X-Amz-Id-2: <numbers>= 
< X-Amz-Meta-S3b-Last-Modified: 20170316T132941Z 
< X-Amz-Request-Id: <numbers> 
< CF-Cache-Status: HIT 
< Expires: Wed, 22 Mar 2017 13:47:56 GMT 
< Cache-Control: public, max-age=3600 
< Server: cloudflare-nginx 
< CF-RAY: <numbers>-LHR 

注意我已經多次運行這些curl請求。

有什麼建議嗎?

+0

Cloudflare始終使用高速緩存,除非您已啓用'developer mode',這將禁用高速緩存。 – Jer

回答

1

CloudFlare does not cache HTML resources by default。由於資源A有Content-Type: text/html,它可能是一個.html文件,因此不會被緩存。

然而,圖像默認被緩存。這就是爲什麼資源B的圖像/ png的內容類型(可能實際上是.png文件)顯示爲CF-Cache-Status: HIT

請注意,CloudFlare基於文件擴展名而不是MIME類型進行緩存。因此,如果沒有通過文件擴展名查看請求的完整網址,我只能假定資源A和B的擴展名實際上與curl響應中的MIME類型相匹配。

如果要緩存HTML文件,您可以使用configure page rules這樣做。

我希望有幫助!

+1

#facepalm。當你用自己的答案Google解決一個問題並着陸時 –