REST
REST (Representational state transfer) — стиль архітектури для розподілених систем, що використовується для створення вебсервісів. Це набір способів обробки та передачі станів ресурсів за найпоширенішим протоколом HTTP. А якщо зовсім просто, то REST — формат «спілкування» між браузерною та серверною частиною сайту чи вебзастосунку.
Системи, які підтримують ці принципи, називаються RESTful, і таких переважна більшість.
У REST кожна одиниця інформації має свій глобальний ідентифікатор URL. Дані передаються, як є, без додаткових шарів як XML. Він використовується тільки для форматування запитів, як стандарт для HTTP, але може бути замінений на JSON. Усі урли будуються за строго заданим форматом, який не залежить від з формату самих даних. Вони можуть вести, як до HTML-сторінки, так і до просто картинки, текстового файлу тощо. Керування даними, на які вказує URL-адресу, відбувається за допомогою методів протоколу передачі. Для HTTP це класичні — GET, PUT, POST та DELETE.
Поділ інтерфейсів забезпечує слабкий зв’язок між компонентами. Клієнти не прив’язані до даних, які зберігаються на серверах, а вони, своєю чергою, не пов’язані з інтерфейсом користувача. Завдяки цьому можна вносити зміни до кожного компонента незалежно, що спрощує саму систему та її масштабування.
Використання stateless-протоколу означає, що сервер не зберігатиме дані клієнтів. Кожен запит буде незалежною транзакцією, з усією необхідною інформацією, у тому числі й id клієнта, якщо це потрібно.
Вимоги до організації клієнт-серверної взаємодії, що включають описані спочатку особливості стилю REST, та інші принципи, зокрема, самодокументовані повідомлення, гіпермедіа, кешування й так далі.
- Це універсальне рішення для будь-яких сайтів та додатків, котре використовується практично за замовчуванням;
- Проєкт легше масштабувати завдяки незалежному впровадженню компонентів;
- REST добре працює в системах з обмеженою пропускною здатністю з’єднання;
- Підходить для створення швидких та чуйних вебзастосунків AJAX з частковим оновленням UI, без повного перезавантаження сторінки.
REST — класичний набір способів організації вебслужб, тобто зв’язків між компонентами сайту Це просто спосіб організації передачі даних між сервером та браузером. Сам по собі він не прив’язаний до технологій і протоколів, але з огляду на поширеність протоколу HTTP і форматів JSON і XML для вебслужб, використовується саме з ними.
REST передбачає використання HTTP так, як це задумали його творці, не розширюючи та не перевантажуючи. Це набір максимально простих та невибагливих до ресурсів програмних методів додавання, зміни, отримання та видалення інформації. Конкуренти REST зараз значно поступаються йому, і цей стиль архітектури — рішення за замовчанням.