我有一个web应用程序,它使用各种查询字符串参数来做其他事情。这些查询字符串参数是附加属性,这意味着用户操作会更改所提供的内容,甚至更改所提供内容的顺序。
Example URLs:
http://dubdubdub.com/MyPage.aspx?MyParam=100+200+300
http://dubdubdub.com/MyPage.aspx?MyParam=200+300+100在上面的示例URL中,这两个URL都会导致相同的页面呈现。页面动态加载,提取属性,并将它们转移到另一个使用它们的服务。顺序无关紧要。
我想找到一种方法来将MyParam值压缩成某种散列字符串,这样我的Urls就可以看起来像这样……
http://dubdubdub.com/5kjh345i/MyPage.aspx我考虑过简单的加密/解密,但这导致了一个比理想字符串更大的字符串。
我目前正在考虑在应用程序启动时从数据库中拉入内存中的哈希表的想法,但这将需要我用我想做的所有可能的permutations...not填充数据库。
其他选择?
发布于 2010-11-11 12:32:29
创建属性集的有效二进制表示,然后使用base64将其编码到URL中。
这将您的问题简化为决定有效的二进制表示的问题,这是一个数据压缩问题。像霍夫曼编码或算术编码这样的想法可能会很有用--这实际上取决于你的属性集的范围。
https://stackoverflow.com/questions/4148474
复制相似问题