关于Cookie长度的思考
浏览:1170次 出处信息
问题
如何能使得一些信息可以存储更小?
分析
常见的存储方式:
key_len + key + value_len + value + …
优化方法
如果key是定长的,则: key_len 可以省略
如果对key编号,则,key可以更短
如果按顺序存储,则key_len 、key都可以省略
如果value是定长的,则value_len 可以省略; 延伸: 对于定长的value,省略value_len,非定常的value,不省略
如果顺序存储,对于空字段也要保留1个字节的value_len (value_len = 0),这里可以设计1个元字段,标识哪些字段为空(或非空),这样就不再需要1个字节的value_len 了
设置默认值; 对于出现次数频繁的value,设置为默认值,不做存储,而且,如果出现频繁的value为多个,则可以通过2bit的信息标明默认值为1、2、3; 不宜设置太多的默认值,那样就不会节省空间了
信息没有丢失,而是藏在了逻辑(或代码)当中
优化原理
建议继续学习:
- cookie窃取和session劫持 (阅读:12683)
- curl 命令使用cookie (阅读:8668)
- 前端开发中Cookie那些事儿 (阅读:6016)
- 如何设置一个永远无法删除的Cookie (阅读:5038)
- 在浏览器中加密Cookie (阅读:4339)
- 网站统计:第一方Cookie和第三方Cookie (阅读:4038)
- Cookie安全漫谈 (阅读:3387)
- 一段Javascript的代码 (阅读:3229)
- 使用Http-only Cookie来防止XSS攻击 (阅读:2942)
- FlashCookie (阅读:2813)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
后一篇:翻译文档:TokuMX的分形索引是什么? >>
文章信息
- 作者:phpor 来源: PHPor 的Blog
- 标签: Cookie
- 发布时间:2014-10-15 22:56:44
建议继续学习
近3天十大热文
- [303] Go Reflect 性能
- [14] [译]Google Chrome中的高性能网
- [10] 在FreeNAS/BSD搭建基于Nginx+
- [10] webapp网页调试工具Chrome Dev
- [10] 精于图片处理的10款jQuery插件
- [10] Mac下.apk的反编译
- [9] jQuery性能优化指南
- [9] rsync同步的艺术
- [8] 内存表在同步环境注意事项
- [8] 程序中的“多线程”