【发布时间】:2010-11-25 18:26:34
【问题描述】:
我有一个 php web 应用程序,它使用大 cookie 来存储大量用户数据。如果我在 apache 服务器上设置 mod_gzip,它会只压缩页面内容还是也会压缩 cookie?
【问题讨论】:
我有一个 php web 应用程序,它使用大 cookie 来存储大量用户数据。如果我在 apache 服务器上设置 mod_gzip,它会只压缩页面内容还是也会压缩 cookie?
【问题讨论】:
不,它只压缩内容。 Cookie 在标头中发送,从不压缩。
【讨论】:
使用 mod_gzip 不会对 cookie 进行压缩,但如果您知道 cookie 数据会很大,您可以随时自行压缩 cookie 数据。创建 cookie 时压缩数据,读取 cookie 时解压缩。请务必在解压缩之前验证数据的签名,以帮助避免针对您的代码的 DoS 攻击。
【讨论】:
gzencode(HTTP 的deflate 文件格式)、gzcompress(HTTP 的gzip 文件格式)和gzdeflate(实际的DEFLATE 数据格式)。所以我怀疑你是否还需要一个签名来保护自己免受拒绝服务攻击。
urlencode(gzcompress("this is a text", 9)) 将返回一个 54 字符的字符串,是原始“未压缩”大小的 3.5 倍。
我认为您在这里关注的是错误的问题。
此时您觉得压缩 cookie 可能是个好主意,您显然是在滥用 cookie 系统。
在 cookie 中存储最少的数据,例如登录上下文的唯一 ID 或诸如此类,不要将整个用户数据存储在 cookie 中。
基本上我的意思是,您永远不会觉得需要压缩 cookie。如果你这样做了,你就做错了。
不,要回答您的问题,它不会压缩 cookie。它们与内容分开发送。
【讨论】: