Не могли бы вы исправить меня, если я ошибаюсь насчет ОТДЫХА? - PullRequest
1 голос
/ 04 июня 2011

REST используется для связи любых двух систем.

Так что, если вы хотите получить информацию с одной машины, мы должны использовать метод GET и добавить информацию в одну систему, нам нужно использовать метод POST..Likeмудрый PUT и DELETE.

Когда машина получает ресурс, она запрашивает машиночитаемый.Когда браузер ПОЛУЧАЕТ ресурс для человека, он запрашивает читаемый человеком.

Итак, когда вы отправляете запрос с компьютера 1. Он отправляется на какой-то компьютер x.Machine x отправит машиночитаемый формат на машину 1. Теперь браузер переходит на читаемый пользователем формат.

Итак, JSON - машиночитаемый формат, а HTML - читаемый клиентом формат ... Поправьте меня, если я не прав?

Ответы [ 3 ]

3 голосов
/ 04 июня 2011

REST - это архитектурный стиль, а не технология.При этом единственная технология, которая известна большинству людей и предназначенная для соответствия архитектурному стилю REST, - это HTTP.Если вы хотите понять архитектурный стиль REST, я рекомендую следующие два ресурса:

Когда вы отправляете GET-запрос на ресурс, сервер должен определить, какое представление (формат, например, html или json) он хочет отправить обратно. Клиент может отправить по Acceptзаголовок, который задает набор предпочтительных форматов, но в конечном итоге именно сервер должен решить, что именно он хочет отправить. Чтобы узнать больше об этом взаимодействии, обратитесь к Google по «согласованию содержимого HTTP».

Причина, по которой браузеры стремятсяHTML возвращает то, что они отправляют заголовок Accept с «text / html». Если вы каким-то образом настроили свой браузер так, чтобы он всегда отправлял заголовок Accept только «application / json», вы иногда возвращали бы JSON (если сервер поддерживал представления JSON), иногда HTML (если сервер игнорировал ваш заголовок Accept), а иногда ошибка, сообщающая, что серверНе удалось поддержать запрошенное вами представление.

Компьютер может анализировать JSON или HTML, если у вас есть нужные библиотеки.Содержимое JSON имеет тенденцию быть структурированными данными (оптимизированными для синтаксического анализа), а HTML имеет тенденцию быть оптимизированными для представления, поэтому, как правило, анализ JSON намного проще для программы.

0 голосов
/ 04 июня 2011

Чтобы быть педантичным, HTML и JSON являются машиночитаемыми форматами.Разница в том, что в HTML есть спецификация, которая описывает некоторую семантику, которую веб-браузеры знают, как интерпретировать для визуальной визуализации.Спецификация JSON не имеет никакой семантики, кроме определения, как сериализовать массивы, объекты и свойства.

Не забывайте, что JSON и HTML - это только два из сотен потенциально полезных форматов медиа-типов, которые может использовать система RESTful.

0 голосов
/ 04 июня 2011

Звучит о праве на меня.HTML определенно предназначен для конечного пользователя (несмотря на весь неприятный код для очистки экрана), и я бы не хотел доставлять JSON (или XML или YAML) клиентам конечного пользователя для прямого отображения.

Вы, вероятно, хотите убедиться, что вы предоставляете только тот HTML, который соответствует той же базовой модели данных, которую вы предоставляете механическим клиентам;создание XHTML по требованию путем применения таблицы стилей XSLT к XML-версии ваших стандартных ответов, вероятно, является наиболее простым способом сделать это, поскольку, скорее всего, вы можете сделать это со слоем, независимым от вашего основного приложения.

...