TGViewer
PHP | Вопросы собесов PHP | Вопросы собесов @easy_php_ru · 2.31K subscribers
Post #2342 319
🤔 Как расшифровывается Rest?

REST расшифровывается как REpresentational State Transfer (Представленческая передача состояния). Это архитектурный стиль для создания сетевых приложений, который определяет набор ограничений и принципов для проектирования и взаимодействия с веб-службами.

🚩Основные принципы


🟠Клиент-серверная архитектура (Client-Server)
Клиент и сервер разделены. Клиенты запрашивают ресурсы, а серверы предоставляют их. Это разделение позволяет независимое развитие клиента и сервера.

🟠Отсутствие состояния (Stateless)
Каждое взаимодействие между клиентом и сервером не зависит от предыдущих взаимодействий. Вся необходимая информация для выполнения запроса должна быть включена в сам запрос.

🟠Кешируемость (Cacheable)
Ответы могут быть кешируемыми. Это улучшает производительность, снижая необходимость повторных обращений к серверу для получения одних и тех же данных.

🟠Единообразный интерфейс (Uniform Interface)
Определяет единообразный способ взаимодействия с ресурсами, независимо от конкретного клиента или сервера. Включает четыре подпринципа:
Идентификация ресурсов: Каждый ресурс имеет уникальный идентификатор (обычно URL).
Манипуляция ресурсами через представления: Клиенты взаимодействуют с ресурсами, используя их представления (например, JSON, XML).
Самоописываемые сообщения: Сообщения содержат всю необходимую информацию для обработки запроса или ответа.
Гипермедиа как движок приложения (HATEOAS): Клиенты получают информацию о доступных действиях через гиперссылки в ответах сервера.

🟠Слои (Layered System)
Архитектура может быть многослойной, где каждый слой имеет свои обязанности и скрывает сложность соседних слоев.

🟠Код по требованию (Code on Demand, необязательный)
Сервер может передавать исполняемый код клиенту для выполнения. Например, JavaScript для выполнения на стороне клиента.

🚩Пример REST

GET: Получить ресурс.
POST: Создать новый ресурс.
PUT: Обновить существующий ресурс.
DELETE: Удалить ресурс.

🚩Пример API


1⃣Получить список пользователей
GET /users


Ответ
      [
{"id": 1, "name": "Alice"},
{"id": 2, "name": "Bob"}
]


2⃣Получить пользователя по ID
GET /users/1


Ответ
      {"id": 1, "name": "Alice"}


3️⃣Создать нового пользователя
POST /users


Тело запроса
{"name": "Charlie"}


Ответ
{"id": 3, "name": "Charlie"}


4⃣Обновить информацию о пользователе
PUT /users/1   


Тело запроса
{"name": "Alice Smith"}


5⃣Удалить пользователя
DELETE /users/1


Ставь 👍 и забирай 📚 Базу знаний
  • 👍 1
More from @easy_php_ru
  1. Oct 11, 2026🤔 Что такое декремент? декремент — это операция, используемые для увеличения или уменьшен…
  2. Oct 10, 2026🤔 Что такое агрегатные функции? Агрегатные функции в SQL и других языках обработки данных…
  3. Oct 9, 2026🤔 Как настроить autoload через Composer? Composer предоставляет механизм автоматической з…
  4. Oct 9, 2026🤔 Какое отличие у протоколов tcp и udp? Это два основных транспортных протокола в интерне…
  5. Oct 8, 2026🤔 Есть ли какое-то различие между одинарными и двойными кавычками? - В большинстве языков…
  6. Oct 7, 2026🤔 В каких случаях используют индексы? Индексы в базах данных используются для ускорения о…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →