【发布时间】:2010-11-23 20:44:48
【问题描述】:
我们正在构建一个包含近 70 个属性的大型搜索界面。这些属性大部分是布尔值(只保留 0 或 1),大约 12 个是 int 值,有些是字符串。
goal: http://www.example.com/q/test_search/fdgREGd3vfS323
want to avoid: http://www.example.com/q/test_search/?val_12=1000&val_120=0&val_4=XY....
我们的目标是拥有一个包含所有搜索属性的短 url,这样就可以通过记住 url 来存储/发送准确的搜索数据。
我知道这可以通过url字符串中的许多参数来完成,但是我的老板是坚持不懈的。
我们已经想出了如何表示布尔值:
将值映射到二进制表示(00010101011),每个位置代表一个变量。我们将这个编码的字符串传递给一个较短的对应物(AB),例如十六进制。
但是当涉及到保存值的属性时,我们还没有决定如何进行。有什么想法吗?
【问题讨论】:
-
人们不会记住任意二进制字符串中的占位符。考虑简单地为未指定的参数设置默认值,使用网络上其他地方已经使用的参数编码方案,不要重新发明轮子。
-
保存值的属性...我假设您的意思是保存字符串的属性?
-
我们将为属性颜色提供一个选择框,用户将选择一个值,例如20(颜色标识)。我们的目的不是让用户能够修改网址,而是让用户体面并最好编码
标签: php algorithm url search encode