Сервис для
сео - оптимизаторов

Найди ошибки на сайте
Ошибки мешают продвижению сайта
Исправь ошибки на сайте
Сайт без ошибок продвигать легче
Получи новых клиентов
Новые клиенты принесут больше прибыль

Спокойная архитектура объяснила

Часто, когда кто-то знакомится с концепцией сервисов RESTful, возникает первый вопрос: «Что это Часто, когда кто-то знакомится с концепцией сервисов RESTful, возникает первый вопрос: «Что это?» Или «Что это значит?» Привет, я Саймон Черч из DSYNC. И в этой статье вы получите ответ на этот вопрос «Что такое REST?». Мы быстро рассмотрим основные принципы REST и шесть ограничений, которые делают его уникальным. Это даст вам базу знаний по мере того, как мы перейдем к более техническим аспектам фактического предоставления услуг REST. Ответ на вопрос «Что такое REST?» Сообщит «почему» для того, о чем мы говорим, когда мы двигаться вперед и развивать наши услуги. Итак, давайте немного познакомимся. Сегодня мы говорим об объяснении Restful Architecture.

Итак, очень быстро, обзор того, о чем мы будем говорить сегодня. REST - это сокращение от «REpresentational State Transfer». Мы поговорим о том, как он основан на ресурсах, а не на действиях в некоторых других сервисных системах, и представлениях, которые передаются между клиентом и сервером. Затем мы поговорим о шести ограничениях архитектуры RESTful: это унифицированный интерфейс, отсутствие состояния, клиентский сервер, возможность кэширования, использование многоуровневой системы и код по требованию.

Итак, как уже упоминалось, REST основан на ресурсах. И все это означает, что в RESTful API мы говорим о вещах или ресурсах, а не о действиях, о которых вы говорили бы в смысле SOAP. Итак, другими словами, мы говорим о существительных и глаголах. В RESTful API мы говорим о существительных, являющихся ресурсами, такими как личный ресурс, пользовательский ресурс, адресный ресурс, в отличие от глаголов, о которых мы говорим в чем-то, о чем мы говорим в смысле SOAP-RPC, где мы будем говорить о методах или действиях, которые мы можем предпринять с этим API.

В смысле SOAP мы бы назвали «получить пользовательские данные», тогда как в смысле RESTful мы бы назвали что-то, как мы бы назвали URI или ресурсом, и мы использовали бы HTTP-глагол, чтобы определить, какую операцию мы хотим сделать. на что. Таким образом, ресурсы идентифицируются URI, и эти отдельные ресурсы идентифицируются в каждом запросе. Важно отметить, что несколько URI могут ссылаться на один и тот же ресурс. Под этим я подразумеваю, что у вас может быть URI, ссылающийся, скажем, на личный ресурс, и мы можем выполнить несколько операций над этим…, которые соответствуют глаголам HTTP.

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

Когда вы говорите об этом, это кажется очевидным, но для данного ресурса могут быть разные представления. Таким образом, различные формы данных возвращаются в зависимости от ресурса и элементов в запросе. Таким образом, в любом случае, краткое изложение этого конкретного вопроса заключается в том, что REST основывается на ресурсах или существительных, а не на действиях или глаголах.

Термин «представления» - это способ манипулирования ресурсами в RESTful API или архитектуре. Они представляют части ... Или могут представлять целое, но в целом они представляют часть состояния ресурса. И это представление передается между клиентом и сервером. Но когда клиент хранит представление ресурса, включая любые метаданные или все, что связано с этим конкретным запросом, у него достаточно информации для изменения или удаления ресурса на сервере - конечно, учитывая, что у него есть разрешение на это.

Представления обычно представлены в формате JSON или XML. Конечно, могут быть разные формы представлений. Вы можете иметь CSV, список значений через запятую. Вы могли бы сделать HTML. Обычно службы RESTful имеют представления, которые возвращают JSON или XML. Так что, если мы поговорим о быстром примере: если бы у нас был личный ресурс сказать; я - у нас может быть служба, которая говорит о контактной информации этого человека, и для ее получения мы будем использовать HTTP-глагол GET.

И представление, которое мы получим, может быть именем, адресом и номером телефона этого человека, Саймона в формате JSON или XML. Итак, крошечные маленькие кусочки информации… Ну, «крошечные» могут быть не рабочим словом, но они представляют состояние ресурсов, которое передается между клиентом и сервером. И вообще, они в формате JSON или XML, чаще всего в формате JSON.

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

RESTful не должен использовать HTTP, он просто описывает архитектурный стиль. Но если мы используем HTTP в качестве основы для наших архитектур REST, это делает его простым для нас. Мы знаем, что такое интерфейс - этот унифицированный интерфейс - и это упрощает то, что нам нужно сделать, и людям легче понять этот путь. Итак, это основополагающее значение для дизайна RESTful. Для нас, как я уже говорил, мы используем HTTP-глаголы, в первую очередь четыре из GET, PUT, POST и DELETE. Есть и другие - OPTIONS и HEAD - но они используются реже. Наши URL являются именами наших ресурсов, и мы получаем статус и представления в теле ответа HTTP.

Ограничение отсутствия состояния означает, что сервер, узел службы RESTful, не должен содержать состояние клиента. Это означает, что каждое сообщение является информативным. Другими словами, каждый запрос имеет достаточно информации или контекста, чтобы сервер мог обработать это сообщение. Таким образом, в качестве боковой панели это означает, что если есть состояние, то это состояние сохраняется на стороне клиента. Другими словами, то представление, о котором мы говорили ранее, - это то, что несет государство. Таким образом, между представлением метод HTTP - GET, PUT, POST, DELETE »- и URL должны содержать все состояния для данного запроса.

В общем, это довольно легко сделать, если у нас есть фреймворк или способ создания сервисов, которые обрабатывают его таким образом. Есть вещи, которые построены в REST-подобном стиле, которые не являются лицами без состояния. OAUTH2, в частности трехногий OAUTH, находится в состоянии состояния, но построен RESTful. Таким образом, существуют случаи, когда вы должны сохранить состояние на стороне сервера. Но тогда мы должны знать, что это не официально или технически RESTful. И вообще, мы должны склоняться к безгражданству, если это вообще возможно.

Мы говорили о том, как представления передаются между клиентом и сервером. Итак, мы уже сделали скачок к тому факту (или в данном случае к ограничению), что архитектура RESTful является архитектурой клиент-сервер. И это нормально; нам просто нужно всегда предполагать или всегда знать или иметь в уме, что мы имеем дело с отключенной системой здесь. Таким образом, клиент RESTful API должен понимать, что он не всегда будет иметь прямое соединение с базой данных или прямое соединение с активами или этими ресурсами.

Это держит нас отдельно, держит вещи отдельно, например, если вы пишете пользовательский интерфейс, использующий сервисы RESTful. Он действительно четко разделяет проблемы между пользовательским интерфейсом и сервисами. Итак, мы также говорили о едином интерфейсе; в нашем случае это стек HTTP. И это связующее звено между ними, два из которых являются клиентом и сервером. Итак, это просто понимание того, что архитектуры RESTful станут клиентскими серверами.

Еще одним ограничением для архитектур RESTful является то, что они должны быть кэшируемыми. Ответы или представления сервера кешируются. Все, что возвращается с сервера или службы REST, может быть кэшировано неявно, явно или может быть согласовано. Так что, если это не обозначено, в общем, клиент может что-то кешировать. Это было бы неявное кеширование. Явное кеширование будет означать, что сервер указывает, какой максимальный, возраст, продолжительность, такие вещи. И затем, согласованная схема кэширования - это когда клиентский сервер договаривается, чтобы выяснить, как долго элемент может быть кэширован.

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

Таким образом, это помогает нам помнить, что разделение интересов и вещей, о которых я не должен беспокоиться, так что, как клиент, все, что я знаю о том, что это API. И я знаю, какой след или какую форму представляет представление, которое возвращается. Так что, вероятно, сейчас вы это поняли. Это просто улучшает масштабируемость с точки зрения того, что со стороны сервера все можно кэшировать. Возможно, мы стремимся выпустить работу из базы данных или самих служб REST. Так что, в любом случае, важно понимать, что это может быть многоуровневая архитектура. Поэтому может существовать аппаратное или программное обеспечение, промежуточное программное обеспечение, посредники между клиентом и сервером. И это только одно из ограничений архитектуры RESTful.

Код по требованию является своего рода уникальным. В общем, это просто означает, что с точки зрения сервиса RESTful этот сервер может временно расширять клиент, передавая клиенту логику. Таким образом, другими словами, логика или исполняемое что-то может быть передано как представление клиенту. Так, например, мы все видели апплеты Java. Мы не будем говорить о боли, которую мы испытали в этом. Другой пример - исполняемые фрагменты JavaScript. Так или иначе, код по требованию уникален как ограничение архитектуры RESTful, потому что это единственное необязательное ограничение.

Краткое описание этих ограничений заключается в том, что нарушение любого из этих ограничений, кроме необязательного ограничения кода по требованию, означает, что служба RESTful не является строго RESTful. Спасибо, что прочитали об объяснении Restful Architecture.

Метки: C # , диаграмма , объяснил , Джава , JSON , имея в виду , принципы , Изобразительное State Transfer , RESTful API , RESTful API или архитектура , спокойная архитектура объяснила , стиль , руководство , XML

Часто, когда кто-то знакомится с концепцией сервисов RESTful, возникает первый вопрос: «Что это?
» Или «Что это значит?
И в этой статье вы получите ответ на этот вопрос «Что такое REST?
Ответ на вопрос «Что такое REST?