Cakephp 应用程序缓存清单分块
我的控制器中有一个cakephp清单方法,可以动态创建清单文件。感谢Cakephp 应用程序缓存清单分块,cakephp,caching,manifest,chunked,Cakephp,Caching,Manifest,Chunked,我的控制器中有一个cakephp清单方法,可以动态创建清单文件。感谢$this->RequestHandler->setContent('manifest','text/cache manifest'),我可以正确设置MIME类型,一切正常 现在的问题是,我的清单文件变得非常大,它包含很多行,最后它的尺寸达到了72Kb,这导致文件在下载时被分成两个或更多的块,最后的文件被读取为文本/html,而不再是缓存清单 事实上,这是一个头球嗅探器告诉我的: 清单的小版本: HTTP Response He
$this->RequestHandler->setContent('manifest','text/cache manifest')代码>,我可以正确设置MIME类型,一切正常
现在的问题是,我的清单文件变得非常大,它包含很多行,最后它的尺寸达到了72Kb,这导致文件在下载时被分成两个或更多的块,最后的文件被读取为文本/html,而不再是缓存清单
事实上,这是一个头球嗅探器告诉我的:
清单的小版本:
HTTP Response Header
Name Value Delim
Status: HTTP/1.1 200 OK
Content-Type: text/cache-manifest; charset=UTF-8
Date: Wed, 26 Jun 2013 14:23:34 GMT
Server: Apache/2.2.22 (Unix) PHP/5.3.10
X-Powered-By: PHP/5.3.10
Content-Length: 843
Connection: Close
HTTP Response Header
Name Value Delim
Status: HTTP/1.1 200 OK
Content-Type: text/html
Date: Wed, 26 Jun 2013 14:05:23 GMT
Server: Apache/2.2.22 (Unix) PHP/5.3.10
X-Powered-By: PHP/5.3.10
transfer-encoding: chunked
Connection: Close
使用大型清单时:
HTTP Response Header
Name Value Delim
Status: HTTP/1.1 200 OK
Content-Type: text/cache-manifest; charset=UTF-8
Date: Wed, 26 Jun 2013 14:23:34 GMT
Server: Apache/2.2.22 (Unix) PHP/5.3.10
X-Powered-By: PHP/5.3.10
Content-Length: 843
Connection: Close
HTTP Response Header
Name Value Delim
Status: HTTP/1.1 200 OK
Content-Type: text/html
Date: Wed, 26 Jun 2013 14:05:23 GMT
Server: Apache/2.2.22 (Unix) PHP/5.3.10
X-Powered-By: PHP/5.3.10
transfer-encoding: chunked
Connection: Close
为了解决这个问题,我必须在多大程度上改变事情?Apache级别?Php/Cakephp级别?使用响应类
cakephp的正常响应不会处理分块请求——这通常只适用于下载/静态文件
但是,您可以将响应写入一个文件,然后使用发送响应,该响应将像处理任何资产一样处理分块请求
还是让Apache来做
或者,在部署时(或在第一次请求时)将缓存清单写入webroot,并让apache处理。然后,您的责任只是确保在必要时更新文件的内容(由应用程序逻辑确定)