Php 代理资产是否缓存?

Php 代理资产是否缓存?,php,caching,Php,Caching,我有一个应用程序,为了让图像加载到应用程序中,我不得不使用代理。因此,图像的URL不是.jpg,而是.php?var=value,即使已经加载过一次,它们的加载速度似乎也要慢得多,我真的不知道它是如何工作的,但我认为代理图像没有被缓存。我说得对吗 谢谢。您的PHP文件可能已声明无缓存标志,或过期时间较短。尝试在显示完整http头的查看器中打开这两个URL 每个代理都有自己的设置,如何处理缓存和不同的文件类型。JPG通常被视为静态文件,因此缓存它是安全的。然而,PHP文件被视为动态脚本,每次都会产

我有一个应用程序,为了让图像加载到应用程序中,我不得不使用代理。因此,图像的URL不是.jpg,而是.php?var=value,即使已经加载过一次,它们的加载速度似乎也要慢得多,我真的不知道它是如何工作的,但我认为代理图像没有被缓存。我说得对吗


谢谢。

您的PHP文件可能已声明无缓存标志,或过期时间较短。尝试在显示完整http头的查看器中打开这两个URL

每个代理都有自己的设置,如何处理缓存和不同的文件类型。JPG通常被视为静态文件,因此缓存它是安全的。然而,PHP文件被视为动态脚本,每次都会产生不同的输出。但这完全取决于代理的配置。

IE(可能还有其他浏览器)不会使用任何类型的?query=string&foo=bar缓存URL。您必须显式设置缓存控制并使要缓存的头过期


在PHP中,设置标题的方法如下:

// can be cached by browser, and also by intermediate caches (i.e. by everybody)
header('Cache-Control: public');

// is fresh (doesn't have to be re-checked) until that date
header('Expires: Fri, 17 Apr 2009 23:50:00 GMT'); 

警告:除非使用输出缓冲,否则您需要在内容之前发送标题。

代理接受mime类型和标题的参数,我将mime类型设置为“image/jpeg”,但我不知道标题的内容,所以我没有设置它们。你知道我应该在标题上写什么吗?谢谢。在研究脚本之后,它看起来只是检查参数headers==“true”。所以我想我应该设置它?你能告诉我或者给我指一个地方,说明如何设置它吗?谢谢