peterarsentev / job4j_features_bugs

Ошибки и предложения в проекте Job4j.ru
https://job4j.ru
Apache License 2.0
11 stars 2 forks source link

1. RESTFul. Описание архитектуры [#6884 #380992] #1720

Open yarmail opened 6 months ago

yarmail commented 6 months ago

https://job4j.ru/profile/exercise/104/task/525/380992

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

  1. Client-server architecture (Архитектура клиент-сервер): RESTful API должен быть построен на принципе разделения клиента и сервера. Клиент отправляет запросы на сервер, а сервер возвращает обратно запрашиваемые данные.

  2. Statelessness (Безсостоятельность): Каждый запрос к RESTful API должен содержать все необходимые данные для выполнения этого запроса. Сервер не должен хранить информацию о состоянии клиента между запросами.

  3. Cacheability (Возможность кэширования): RESTful API должен поддерживать кэширование ответов для повышения производительности. Клиенты могут кэшировать ответы сервера на определенное время.

  4. Uniform interface (Единый интерфейс): RESTful API должен иметь стандартизированный и унифицированный интерфейс для упрощения использования и понимания. Для взаимодействия с ресурсами используются HTTP методы (GET, POST, PUT, DELETE).

  5. Layered system (Многоуровневая система): RESTful API должен быть построен на многоуровневой архитектуре, где клиент не знает о слоях системы, через которые проходит запрос. Это позволяет улучшить масштабируемость и управляемость системы.

  6. Code on demand (Исполнение кода по запросу): RESTful API может отправлять клиенту код для выполнения на стороне клиента (например, JavaScript), что позволяет расширять функциональность клиента без изменения сервера.