首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序缓存清单已分块

应用程序缓存清单已分块
EN

Stack Overflow用户
提问于 2013-06-26 22:26:15
回答 1查看 318关注 0票数 0

我的控制器中有这个cakephp清单方法,它可以动态地创建清单文件。多亏了$this->RequestHandler->setContent('manifest', 'text/cache-manifest' );,我可以正确地设置MIME类型,并且一切正常。

现在的问题是,我的清单文件变得非常大,它包含很多行,最后它的大小达到大约72Kb,这导致文件在下载时被分成两个或更多个块,最终的文件被读取为text/html,而不再是缓存清单!

这是一个标题嗅探器告诉我的,事实上:

清单的小版本:

代码语言:javascript
复制
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

而当清单很大时:

代码语言:javascript
复制
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级别?

EN

回答 1

Stack Overflow用户

发布于 2013-06-27 16:07:40

使用response类

cakephp的正常响应不会处理分块请求--这通常只适用于下载/静态文件。

但是,您可以将响应写入文件,然后使用sendFile发送响应,该响应将像对待任何资产一样对待分块请求。

或者让Apache来做

或者,在部署时(或在第一次请求时)将缓存清单写入webroot,并让apache处理它。然后,您的责任将只是确保在必要时(由应用程序逻辑确定)更新文件的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17322878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档