REST = Представницький державний трансфер
REST - це набір правил, які при дотриманні дозволяють створити розподілений додаток, який має певний набір бажаних обмежень.
REST - це протокол для обміну будь-якими (XML, JSON тощо) повідомленнями, які можуть використовувати HTTP для транспортування цих повідомлень.
Особливості:
Це без громадянства, що означає, що в ідеалі не повинно підтримуватися зв'язок між клієнтом і сервером. Відповідальність клієнта є передати його контекст серверу, а потім сервер може зберігати цей контекст для обробки подальшого запиту клієнта. Наприклад, сеанс, що підтримується сервером, ідентифікується за ідентифікатором сеансу, переданим клієнтом.
Переваги безгромадянства:
- Веб-сервіси можуть розглядати кожен виклик методу окремо.
- Веб-сервіси не повинні підтримувати попередню взаємодію клієнта.
- Це в свою чергу спрощує дизайн додатків.
- HTTP сам по собі є протоколом без громадянства на відміну від TCP, і таким чином RESTful веб-сервіси безперебійно працюють з протоколами HTTP.
Недоліки безгромадянства:
- До кожного запиту потрібно додати один додатковий шар у вигляді заголовка, щоб зберегти стан клієнта.
- Для безпеки нам потрібно додати інформацію заголовка до кожного запиту.
Методи HTTP, які підтримує REST:
GET: / string / someotherstring Ідентичний, і в ідеалі повинен повертати однакові результати щоразу, коли виконується дзвінок
PUT: Те саме, що і GET. Idempotent і використовується для оновлення ресурсів.
POST: повинен містити URL-адресу та тіло, яке використовується для створення ресурсів. Кілька дзвінків в ідеалі повинні повертати різні результати та створювати декілька продуктів.
DELETE: використовується для видалення ресурсів на сервері.
ГОЛОВА:
Метод HEAD ідентичний GET, за винятком того, що сервер НЕ ПОВИНЕН повертати тіло повідомлення у відповідь. Метаінформація, що міститься в заголовках HTTP у відповідь на запит HEAD, ДОЛЖНА бути ідентичною інформації, що надсилається у відповідь на запит GET.
ВАРІАНТИ:
Цей метод дозволяє клієнту визначати параметри та / або вимоги, пов'язані з ресурсом, або можливостями сервера, не передбачаючи дії з ресурсом або ініціюючи пошук ресурсу.
HTTP-відповіді
Перейдіть сюди за всіма відповідями .
Ось кілька важливих: 200 - OK 3XX - Додаткова інформація, необхідна клієнту та переадресація URL-адреси 400 - Неправильний запит
401 - Несанкціонований доступ
403 - Заборонено
Запит був дійсним, але сервер відмовляється від дії. Користувач може не мати необхідних дозволів на ресурс або може знадобитися якийсь обліковий запис.
404 - Не знайдено
Запрошений ресурс не вдалося знайти, але він може бути доступний у майбутньому. Подальші запити клієнта допустимі.
405 - Метод не дозволений Метод запиту не підтримується для запитуваного ресурсу; наприклад, запит GET у формі, яка вимагає подання даних через POST, або запит PUT на ресурсі лише для читання.
404 - Запит не знайдено
500 - Внутрішня
помилка сервера 502 - Помилка поганого шлюзу