Я создаю функцию «Сузить результаты», аналогичную Best Buy's и NewEgg's . Как лучше хранить выбранные пользователем фильтры в URL-адресе, которым можно поделиться / добавить в закладки?
Очевидный выбор - просто сохранить все выбранные пользователем параметры в строке запроса. Однако оба эти примера делают нечто более загадочное:
Лучшая покупка:
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
Похоже, они присваивают поиску какое-то уникальное значение и временно сохраняют его на своей стороне. Или, может быть, завернуть свои идентификаторы в кучу мусора, потому что они верят в безопасность через мрак?
Есть ли какой-то недостаток в том, чтобы все было просто?
www.mydomain.com?color=blue&type=laptop
Поэтому, когда я выбираю 17-дюймовый размер экрана в качестве фильтра, он просто перезагрузит страницу с добавленной дополнительной строкой запроса:
www.mydomain.com?color=blue&type=laptop&screen-size=17
Также, чтобы уточнить, я бы, вероятно, использовал соответствующие идентификаторы из базы данных в URL, чтобы упростить / ускорить проверку и анализ, но остается вопрос о том, есть ли какая-то проблема, которую я упускаю в моем простом подходе.
Заранее спасибо!