Django中html文本框大小设置,Django响应总是使用text/html分块,无法设置ContentLength...

最近,我在mod\wsgi应用程序中遇到了类似的问题;我试图更新一个使用内置磁盘缓存的apache配置,改为使用socache/memcache。在

磁盘缓存正常工作,但切换到memcache或shmcb不起作用。如果我对我想要缓存的资源发出请求,它不会将其存储在缓存中(CacheDetailHeader对此很有帮助)。在调试时检查日志时,我发现以下消息:[Wed Dec 05 18:52:16.571002 2018] [cache_socache:debug] \

[pid 884:tid 140422596777728] mod_cache_socache.c(389): \

[client 127.0.0.1:56576] AH02346: URL 'http://127.0.1.1:80/cacheme/c?' \

had no explicit size, ignoring, referer: http://127.0.0.1/

socache似乎不喜欢没有明确尺寸的对象。我尝试将那些mod memcache设置的更新的socache等价物设置为足够大的值:CacheSocacheMaxSize和{}。在

我知道Content-Length头正在被设置并通过它到达某个地方;当我故意计算错误时,它出现在mod\wsgi日志中。在

我发现了一些东西:即使您自己设置了Content-Length头,它也被apache gzip压缩了。这将更改长度;当Apache不知道长度是多少时,它将切换到chunked并删除Content-Length头。

我发现:Content-Type: text/html

Content-Length设置为我的utf-8编码大小

在python/mod wsgi应用程序中设置,并且:SetEnv no-gzip 1

在apache配置中,设置对象将其放入shmcb缓存中。在

看起来,当apachegzip处理一个对象时,它会将头更改为socache不接受它。在

我四处寻找使它们兼容的方法,但在这个问题上找不到太多。mod_cache文档中提到了重新排序缓存/放气过滤器:

如果我放入一个指令来重新排序缓存/放气过滤器,这就起作用了:

^{pr2}$

奇怪的是,在缓存未命中时,服务器返回gzip压缩的内容,但在缓存命中时,服务器返回未编码的text/html。这看起来很奇怪,但我对FilterChain指令的理解还不够深入,无法尝试这些指令。在

我在一个与php/content length相关的问题中也提到了这一点:

答案是,如果他们将DeflateBufferSize设置为足够大的值,那么内容长度就会被设置。在

我没法让它发挥作用。在

因此,似乎有人在选择cached或gzip之间左右为难。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值