0

さまざまなクエリ文字列パラメータを使用して他のことを行うWebアプリケーションがあります。これらのクエリ文字列パラメータは付加的な属性です。つまり、ユーザーアクションによって、提供されるものや提供されるものの順序が変更されます。

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

上記のURLの例では、どちらも同じページレンダリングになります。ページは動的に読み込まれ、属性を抽出して、それらを使用する別のサービスにシャッフルします。順序は関係ありません。

MyParamの値をある種のハッシュ文字列に凝縮して、URLが次のように見えるようにする方法を見つけたいと思います...

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

単純な暗号化/復号化を検討しましたが、その結果、理想的な文字列よりも大きくなりました。

私は現在、データベースからアプリの起動時に取得されるメモリ内ハッシュテーブルのアイデアをいじっていますが、これには、データベースにすべての可能な順列を入力する必要があります...私がやりたいことではありません。

別のオプション?

4

1 に答える 1

0

属性セットの効率的なバイナリ表現を作成し、base64を使用してそれをURLにエンコードします。

これにより、問題は、データ圧縮の問題である効率的なバイナリ表現を決定することになります。ハフマン符号化や算術符号化のようなアイデアが役立つ可能性があります-それは実際には属性セットの範囲に依存します。

于 2010-11-11T04:32:28.820 に答える