Является ли запрос REST API-запроса для включения cookie хорошей идеей? - PullRequest
3 голосов
/ 10 июля 2009

Моя идея состоит в том, чтобы рассматривать URI в моих остальных API как уникальный ресурс, кроме как в контексте местоположения клиента, которое хранится в куки. Есть ли недостатки этого подхода?

Ответы [ 3 ]

2 голосов
/ 10 июля 2009

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

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

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

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

1 голос
/ 10 июля 2009

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

0 голосов
/ 10 июля 2009

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

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