Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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
Http 在cookie中存储压缩数据_Http_Encryption_Cookies_Compression_Session Cookies - Fatal编程技术网

Http 在cookie中存储压缩数据

Http 在cookie中存储压缩数据,http,encryption,cookies,compression,session-cookies,Http,Encryption,Cookies,Compression,Session Cookies,在cookie中存储压缩数据的最佳方式是什么?我想这样做的原因是: 我想在一个cookie中存储尽可能多的数据 我希望性能在数据传输方面尽可能快 我不希望它是如此明显,我存储准确,以防止容易篡改 有很多值,希望实现这一点的最佳机制允许轻松检索 您没有说明您使用的是什么服务器端技术,而是一种使用C#和库在ASP.NET中压缩cookie的方法。我已经在php中完成了这项工作,但您应该很容易在java中找到base64和gzip函数: 序列化对象 附加哈希以防止篡改(例如md5sum(序列化+机密)

在cookie中存储压缩数据的最佳方式是什么?我想这样做的原因是:

  • 我想在一个cookie中存储尽可能多的数据
  • 我希望性能在数据传输方面尽可能快
  • 我不希望它是如此明显,我存储准确,以防止容易篡改
  • 有很多值,希望实现这一点的最佳机制允许轻松检索

  • 您没有说明您使用的是什么服务器端技术,而是一种使用C#和库在ASP.NET中压缩cookie的方法。

    我已经在php中完成了这项工作,但您应该很容易在java中找到base64和gzip函数:

  • 序列化对象
  • 附加哈希以防止篡改(例如md5sum(序列化+机密))
  • 用gzip压缩字符串
  • 用base64对结果进行编码
  • 要获得原始数据,只需按相反顺序应用反向函数。您说只有一个cookie,但第五步可以将内容拆分为两个或多个最大大小为4k的cookie(稍后加入)。在比较结果的大小时,不要忘记考虑序列化字符串可能包含诸如“{”和“:”之类的字符,这些字符被URL编码为“%7B”和“%3A”,从而使字符串变长

    一些可能有用的链接:

    • :用于java的快速序列化框架
    • :用于查看/编辑cookie的firefox扩展

    我在服务器上使用Java/Spring,但我想我在寻找一个更通用的解决方案……如果有一个好的库也能为我处理该解决方案,那就更好了。