2009-07-10 2 views
3

Моя идея состоит в том, чтобы рассматривать URI в моем отдыхе как уникальный ресурс, за исключением контекста местоположения клиента, который хранится в файле cookie. Есть ли недостатки в этом подходе?Требуется запрос REST api, чтобы включить cookie в хорошую идею?

ответ

0

Я буду заботиться о кешировании. Сделайте один запрос с пользователем в местоположении A, он будет кэшироваться, пользователь переместится в B и снова сделает запрос, получит местоположение версии запроса.

1

Как API, вы должны стремиться к простоте использования для клиентского программиста с высоким приоритетом. Во многих библиотеках, поддерживающих HTTP, размещение файлов cookie в HTTP-запросе сложнее, чем включение в URL-адреса параметра запроса.

2

С философской точки зрения, это не REST, если вы не уникально идентифицируете ресурс по URL-адресу (по крайней мере, за мое чтение Fielding).

С практической точки зрения - и это основано на опыте - вы находитесь в мире боли, если вам требуются вызовы веб-сервисов для использования файлов cookie. Прежде всего потому, что это часть информации, которая должна управляться на другом кодовом пути, что делает ваш клиентский код более сложным. Вы также столкнетесь с проблемами с доменом и прокси-серверами (особенно, если вы делитесь файлом cookie между сервисом и традиционным веб-приложением), и он не переносится между клиентами.

Если вы хотите создать различный контент на основе местоположения, почему бы не использовать услугу геолокации?

Редактировать: почему бы не сделать местоположение частью URL-адреса запроса? Вы можете использовать cookie для хранения этой информации и retrieve it using JavaScript. Это оставит ваш сервисный интерфейс чистым и позволит вам легко использовать услугу у других клиентов.

+0

Я фактически использую службу геолокации, но у пользователей будет возможность выбрать их местоположение. Идея состоит в том, чтобы всегда сохранять местоположение в файле cookie, чтобы: a) Пользователь может указать местоположение один раз, а затем он будет сохранен в файле cookie. b) Невозможно выполнить поиск по ip при каждом запросе, так как он был записан в файл cookie после первого поиска. Ну, по крайней мере, это было мое мышление до сих пор ... – 2009-07-10 13:19:30

Смежные вопросы