Структура URL формы поиска - PullRequest
       6

Структура URL формы поиска

0 голосов
/ 29 августа 2009

Мы создаем большой поисковый интерфейс с почти 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), например, Hex.

Но когда речь идет о свойствах, которые содержат значения, мы не решили, как действовать дальше. Есть идеи?

Ответы [ 2 ]

2 голосов
/ 29 августа 2009

Вы можете упростить это еще больше. Если с базой данных нет проблем, вы можете сохранить результаты поиска людей в базе данных и выдать URL-адреса вроде этого:

user_searches:
 search_id | prop1 | prop2 | prop3 | .... | propN

и укажите URL-адрес пользователя:

http://example.com/search/(search_id)

Я предпочитаю использовать этот способ, потому что он невидим с конечной точки пользователя, что происходит, он сокращает URL-адрес, и вы можете (легко) отслеживать, что ищут люди, в случае, если вы хотите оптимизировать свой сайт для удобства использования: ).

[править] кроме того, вы можете использовать хеш для (search_id), чтобы другие пользователи не могли так легко угадать результаты поиска.

0 голосов
/ 29 августа 2009

Если ваши значения конечны и статичны, присвойте им номер.

Если комбинация всех возможных параметров поиска является конечной, есть также возможность хэшировать все это и использовать этот хэш в качестве вашего параметра restful URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...