Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cakephp 应用程序缓存清单分块_Cakephp_Caching_Manifest_Chunked - Fatal编程技术网

Cakephp 应用程序缓存清单分块

Cakephp 应用程序缓存清单分块,cakephp,caching,manifest,chunked,Cakephp,Caching,Manifest,Chunked,我的控制器中有一个cakephp清单方法,可以动态创建清单文件。感谢$this->RequestHandler->setContent('manifest','text/cache manifest'),我可以正确设置MIME类型,一切正常 现在的问题是,我的清单文件变得非常大,它包含很多行,最后它的尺寸达到了72Kb,这导致文件在下载时被分成两个或更多的块,最后的文件被读取为文本/html,而不再是缓存清单 事实上,这是一个头球嗅探器告诉我的: 清单的小版本: HTTP Response He

我的控制器中有一个cakephp清单方法,可以动态创建清单文件。感谢
$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处理。然后,您的责任只是确保在必要时更新文件的内容(由应用程序逻辑确定)