Соглашение, кажется, двоеточие (:) , но Я веб-разработчик, поэтому я лично предпочитаю косую черту (/) для разделителя. Слэш уже настолько важен в качестве разделителя внутри URL, которые должны быть Унифицированные указатели ресурсов , так что это своего рода ключи для ресурсов. Зачем использовать другой подход с двоеточием (:)? Помогает ли это что-нибудь?
Рассмотрим этот пример:
У нас есть RESTful API для игрушечных объектов. Есть один:
http://example.com/api/toy/234
Где мы его храним? Мы используем Redis и косые черты, поэтому ключ очевиден:
toy/234
Это уникальный ключ для игрушки. Теперь ключ можно использовать и на стороне клиента:
{
key: "toy/234",
color: "red",
url: function () {
return API_BASE_URL + this.key;
}
}
Пользователь запрашивает объект с ключом toy/666
. Как получить его от Redis? Пример, связанный с Node.js.
redis.get(key, function reply_callback(error, toystring) {
var toy = JSON.parse(toystring);
...
}
Нет необходимости преобразовывать косую черту в двоеточие и наоборот. Удобно, тебе не кажется?
Примечание: всегда гарантируйте, что пользователь может получить доступ только к тем вещам, которые вы предполагали. Приведенный выше необработанный подход URL-to-key также может извлекать user/1/password
, как отметили комментаторы. Это не должно быть проблемой, если вы используете Redis в качестве общедоступного кэша только для чтения.