Я строю функцию «Узкие результаты», аналогичную функции Best Buy's и NewEgg's. Какова наилучшая практика для хранения выбранных пользователем фильтров в URL-адресе, который может быть разделен/закладок?Лучшая практика для создания функции фильтрации «Узкие результаты»
Очевидным выбором является просто сохранить все пользовательские подборки в строке запроса. Однако оба этих примеров делают что-то гораздо более загадочное:
Best Buy: http://www.bestbuy.com/site/olstemplatemapper.jsp?id=pcat17080&type=page&qp=crootcategoryid%23%23-1%23%23-1~~q70726f63657373696e6774696d653a3e313930302d30312d3031~~cabcat0500000%23%230%23%2311a~~cabcat0502000%23%230%23%23o~~nf518||24363030202d2024383939&list=y&nrp=15&sc=abComputerSP&sp=%2Bcurrentprice+skuid&usc=abcat0500000
Оказывается, они назначая некоторое уникальное значение для поиска и хранения его временно на их стороне. Или, возможно, обертывание их db id в кучу мусора, потому что они верят в безопасность через неясность?
Есть ли какой-то неотъемлемый недостаток в том, чтобы держать вещи такими, как это? www.mydomain.com?color=blue&type=laptop
Так что, когда я выбираю 17" размер экрана в качестве фильтра, было бы просто перезагрузить страницу с дополнительной строкой запроса пристегивается: www.mydomain.com?color=blue&type=laptop&screen-size=17
Кроме того, чтобы уточнить, я бы, вероятно, использовать соответствующие идентификаторы из базы данных в URL, чтобы сделать проверку и разбор проще/быстрее, но остается открытым вопрос о том, есть ли какая-то проблема, я не хватаю в простом подходе.
заранее спасибо!
Иногда половина битвы просто выясняет, какой термин для Google - спасибо за подсказку на граненый поиск. Я никогда не слышал этого термина. –