Методи HTTP
Last updated
Last updated
Властивість об'єкта або операції, яка при повторному застосуванні дає такий само результат, що і при попередній ітерації. Наприклад:
додавання нуля: a=a+0=(a+0)+0=((a+0)+0)+0=...
множення на одиницю: x = x*1 = (x*1)*1 = ((x*1)*1)*1 = ...;
У HTTP клієнт може здійснювати той само виклик кілька разів і здійснювати той само результат, працюючи як "сеттер". Тобто: створення кількох однакових запитів має такий само ефект як і відправлення одного запиту.
Ідемпотентні операції роблять той само результат на сервері, утім відповідь може відрізнятися тобто стан ресурсу може змінитися між запитами.
Найвживаніші HTTP-методи GET/POST/PUT/DELETE:
GET - запити з використанням цього методу можуть лише витягувати дані.
POST - використовується для надсилання сутностей до певного ресурсу. Міняє стан та побічні ефекти на сервері. Найчастіше створює новий ресурс за надісланим запитом.
PUT - замінює ресурс поточним поданням запиту
DELETE - видаляє вказаний ресурс.
PATCH - використовують для часткової зміни ресурсу
Використовують для читання ресурсу. Якщо GET-запит за адресою успішний, то повертається представлення ресурсу у форматі XML або JSON у поєднанні з кодом стану HTTP 200 (OK). У разі невдачі повертається код 404 (NOT FOUND) або 400 (BAD REQUEST). Це безпечний (ідемопотентний) метод. Він призначений лише для отримання інформації та не повинен змінювати стан сервера або мати побічні ефекти.
Запит часто використовують для створення нових ресурсів, а також створення вкладених ресурсів. При створенні нового ресурсу, POST-запит надсилає уявлення, а сервер бере на себе відповідальність призначення нового ресурсу ID тощо. Якщо ресурс успішно створено, то повертається HTTP код 201 Create. Також може бути встановлений заголовок Location з адресою створеного ресурсу. Метод POST - не безпечний (ідемпотентний) запит, оскільки відбувається побічний ефект - створення ресурсу.
Зазвичай використовують для оновлення ресурсу. Тобто запит відбувається до існуючого ресурсу URL. В тілі PUT-запиту передають оновлені дані оригінального ресурсу (повністю, або лише оновлювану частину - PATCH). Якщо операція успішна, то повертається код 200 (або 204 якщо не був переданий будь-який контент у тілі відповіді). Метод PUT вважають не безпечною операцією, адже у процесі виконання відбувається модифікація (або створення) екземплярів ресурсу на стороні сервера. Але цей метод - ідемпотентний. Тобто під час оновлення ресурсу за допомогою PUT запиту - ресурс не зникне, а розташовуватиметься там, де і був.
Використовують для видалення ресурсу. Під час запиту передають конкретний URL (ID). Якщо видалення ресурсу успішне - повернеться код 200 (OK) HTTP, а також тіло відповіді, що містить дані віддаленого ресурсу. Також можна використовувати HTTP код 204 (NO CONTENT) без тіла відповіді. Відповідно до специфікації HTTP, метод DELETE ідемпотентний. Якщо виконати DELETE запит до ресурсу, він видалиться. Повторний DELETE запит до ресурсу закінчиться також: ресурс видалено.
Будь-яка відповідь від сервера має вказувати код стану HTTP. Це індикатор, чи успішно виконано певний HTTP запит. Коди поділяють на п'ять груп:
1. Інформаційні 100 - 199
100: Continue
2. Успішні 200 - 299
200: OK
201: Created
202: Accepted
204: No Content
3. Перенаправлення 300 - 399
301: Moved Permanently
307: Temporary Redirect
4. Клієнтські помилки 400 - 499
400: Bad Request
401: Unauthorized
403: Forbidden
404: Not Found
5. Серверні помилки 500 - 599
500: Internal Server Error
501: Not Implemented
502: Bad Gateway
503: Service Unavailable
504: Gateway Timeout
Покликання:
Стандарт або