URL属性参数缩短

时间:2010-11-10 19:53:47

标签: encryption obfuscation url-shortener

我有一个Web应用程序,它使用各种查询字符串参数来执行其他操作。这些查询字符串参数是附加属性,这意味着用户操作会更改提供的内容,甚至是所提供内容的顺序。

Example URLs:
http://dubdubdub.com/MyPage.aspx?MyParam=100+200+300
http://dubdubdub.com/MyPage.aspx?MyParam=200+300+100

在上面的示例网址中,两者都会产生相同的网页渲染。页面动态加载,提取属性并将它们移动到另一个使用它们的服务。订单无关紧要。

我想找到一种方法将MyParam值压缩成某种类型的哈希字符串,这样我的Url可能看起来像这样......

http://dubdubdub.com/5kjh345i/MyPage.aspx

我考虑过简单的加密/解密,但这导致了一个大于理想的字符串。

我现在正在研究内存中的哈希表的想法,这个哈希表是从应用程序启动时从数据库中提取的,但这需要我用所有可能的排列填充数据库...这不是我想做的事情

其他选择?

1 个答案:

答案 0 :(得分:0)

创建属性集的高效二进制表示,然后使用base64将其编码为URL。

这可以将您的问题减少到决定有效二进制表示的问题,这是一个数据压缩问题。像霍夫曼编码或算术编码这样的想法可能很有用 - 它实际上取决于属性集的范围。