2012-05-02 7 views
26

Я читал по всей сети, чтобы получить точное значение двух слов:Что означает состояние представления в REST?

репрезентативных ГОСУДАРСТВЕННОЙ

У меня есть сомнения. Я неправильно понимаю эти условия. Я хочу прояснить понимание с кем-то, как это хорошо.

Я понимаю, что на сервере есть ресурс. SO Rest означает, что передача некоторого репрезентативного состояния этого ресурса клиенту.

Если у сервера есть ресурс x, то если мы сможем сделать репрезентативное состояние y ресурса x и передать его через Интернет, это означает, что это означает, что это правильно или что это правильный смысл. может кто-нибудь объяснить мне это.

+0

Возможный дубликат [Что означает «передача состояния» в представлении State State Transfer (REST)?] (Http://stackoverflow.com/questions/4603653/what-does-state-transfer-in-representational-state -transfer-rest-refer-to) – Claudiu

+0

Попробуйте также ответ по этой ссылке: https://stackoverflow.com/a/37683965/3762855 –

ответ

30

Репрезентативная передача состояния относится к передаче «представлений». Вы используете «представление» ресурса для передачи состояния ресурса, который живет на сервере в состояние приложения на клиенте.

Transfer

+2

Итак, мы всегда должны возвращать представление JSON/xml? Как насчет визуализации представления, означает ли это также, что я переношу состояние и представляю его в html? – Jaskey

+4

@ Jaskey Архитектурно, REST не волнует, что такое тип медиа. HTML является таким же ресурсным представлением, как и все остальное. Когда вы нажимаете на ссылку в браузере, чтобы перейти на статическую HTML-страницу, это «Передача государственного представительства». Новая HTML-страница - это новое текущее состояние клиентского приложения. –

+7

Спасибо! Но это меня смущает, если перевод страницы - это «Передача государственного представительства», а что нет? Я имею в виду, прежде чем отдохнуть, каким типичным способом будет не «Передача государственного представительства». Я надеюсь сравнить эти способы, чтобы я хорошо знал REST, спасибо вам за терпение. – Jaskey

1

Значение репрезентативной передачи состояния является REST

RESTful поставил DIRECT Verb на сервер

В конкретном примере вознаграждения, значение введено в ГЛАГОЛ имеет обычно из HTTP GET и POST

Имеет ПРОСТОЙ протокол, очень похожий на SOAP (имеет много сложностей!)

Если ответ не удовлетворен, просьба уточнить вопрос

REST имеет много вопросов для обсуждения, является темой для многих блога и книги

+0

Я бы просто добавил к этому, что REST не является «простым протоколом» только в том, что это вовсе не протокол. Больше архитектурного дизайна или стиля. SOAP - это фактический протокол. – zeeple

25

Хотя REST является лицом без гражданства, то есть передача государства в его названии. Это немного запутанно для всех.

Stateless

При открытии веб-страницы в браузере, вы будете действовать как потребитель услуг и сервер WWW будет выступать в качестве поставщика услуг, чтобы служить вам с веб-страницы. Если это обычное соединение, клиент и сервер будут выполнять рукопожатие и инициировать сеанс (называемый TCP-соединением).

После этого, в зависимости от поведения сервера и клиента, состояние изменится на ESTABLISHED, IDLE, TIMEOUT и т. Д. Но в REST мы используем HTTP-протокол, который является безстоящим, что означает, что сервер не будет хранить любую информацию сеанса о клиенте. Клиент отвечает за отправку всех деталей, требуемых сервером, чтобы получить обслуживание, то есть, когда мы вызываем URI http://somedomain:8080/senthil/services/page1 с сервера, у него достаточно информации о том, что клиент полностью обслуживает страницу1.

State Transfer

Используя тот же самый пример, когда вы открываете веб-страницу, используя некоторые URL, чтобы просмотреть файл изображения (ресурсные) на сервере, сервер WWW покажет вам (клиент) изображение в некотором формате, т.е. ПРЕДСТАВЛЕНИЕ РЕСУРСА (файл изображения).

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

Наконец, представление ресурса (как изображение отображается клиенту), которое неявно изменяет состояние как сервера, так и клиента, называется REST.

+2

", который, в свою очередь, изменить состояние приложения "? В чем разница между этими двумя состояниями, почему клиент получает состояние ресурса, и состояние его приложения изменится? – Jaskey

+0

@Jaskey Например: данные в вашей базе данных - это состояние ресурса. Получение данных из вашей базы данных и отображение/представление в какой-либо форме, например HTML/IMAGE/JSON/XML, называется состоянием приложения. –

1

Я думаю, что весь вопрос об озабоченности архитектурного стиля REST сводится к пониманию того, что автор, Рой Филдинг, имел в виду предложить в своей диссертации набор архитектурных принципов для построения архитектур, основанных на на парадигме hipertext или hipermedia.

Эта парадигма, я думаю, является центральным ключом для понимания этой важной темы.

За стиль организации архитектуры клиент-серверного приложения, предложенный Роем Филдингом, я думаю, что существует конкретная идея современного клиент-серверного приложения, которое состоит из своего рода механизма управления состоянием состояния приложения, состояние которого потенциально расширяемы до бесконечности.

В этом видении Ipertext \ Ipermedia является центром всего архитектурного стиля, предложенного Филдингом, и ключевой концепцией, позволяющей этой парадигме работать, является «репрезентативная (государственная) передача».

Я считаю, что «репрезентативный» относится к концепции о «передаче», вместо понятия о «состоянии», то есть, это передача быть репрезентативными (из репрезентативного типа), и это, на мой взгляд, главная причина названия «Представительский государственный перевод».

Таким образом, проектирование RESTful приложения, это дизайн первая архитектура на основе веб-компонентов, каждый из них comunicates с другими в модели многоуровневой архитектуры клиент-сервер, посылая каждому из них представление о его состоянии ,

И так, передний конец, первый клиент этой архитектуры, проходит через его состояния показывают rapresentation состояний отослано компонентом или компонентами, которые он называет одобрение на едином унифицированный интерфейс, а не на «частный» api.

А такой тип приложения, в сознании автора, является потенциально расширяемым бесконечными состояниями, потому что его состояния не зависят от частного API, но зависят от univoque системы идентификатора (как URI), общий всеми агентами в этой архитектуре, несколькими глаголами для управления переходом своих состояний и согласованной общей репрезентативной системой перевода или плюс.

Этот переход завершается сообщением своего представления вызываемому серверному компоненту через глаголы, которые составляют «общедоступный» api, который должен принадлежать протоколу связи без состояния, используемому клиентским сервером компонентов.

Таким образом, взаимодействие клиент-серверных компонентов заключается в обмене (передаче, передаче) представлений состояний компонентов использования протокола без учета состояния.

И основная концепция, которая позволяет всем этим архитектурам потенциально распространиться на бесконечность, представляет собой репрезентативную передачу, которая поддерживает их архитектуру.

1

Представьте диаграмму состояния - следующее будет выполнено.

A simple state diagram courtesy LucidChart

Если бы это было множество веб-страниц, вы бы начать в бакалаврских целевой страницы для студента. По диаграмме, когда вы нажмете на ссылку «Далее», она доставит вас до Страница «Свежер» - предположите, что студент окончил университет. Нажав «next» несколько раз, вы попадаете на последнюю страницу.

Конечно, могут быть другие переходы, такие как «Главная», что позволяет перейти на страницу по умолчанию.

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

Другой пример: поскольку вы просматриваете эту страницу, вы находитесь в определенном идентифицируемом и воспроизводимом «местоположении» в веб-иерархии StackOverFlow.

Итак, RESTful State занимается навигацией.

1

Каждый объект имеет некоторое состояние (данные) и поведение (методы). Чтобы передать состояние объекта на сервере в конкретный момент времени клиенту, требуется какое-то представление, например, JSON или xml или любой другой формат.

Таким образом, REST представляет собой создание представления текущего состояния объекта и передачу этого представления по сети.

+0

wow man, так классно, приятно объяснение .... Спасибо !!! – KItis

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