Різниця між PUT і POST

Прочитавши багато різних статей, все одно не до кінця усвідомлюю різницю між PUT і POST

Специфікація HTTP 1.1 свідчить, що PUT ідемпотентний. Це означає, що клієнт може виконати безліч PUT запитів по одному URI і це не призведе до створення записів дублікатів. Операції присвоєння - хороший приклад Ідемпотентний операції

String userId = this.request [ "USER_ID"];

Навіть якщо цю операцію виконати двічі або тричі, ніякої шкоди не буде (крім зайвих тактів процесора). POST же з іншого боку не ідемпотентний. Це щось на зразок інкремента. Вам слід використовувати POST або PUT з урахуванням того чи виконувана дію ідемпотентна чи ні. Якщо говорити мовою програмістів, якщо клієнт знає URL об'єкта, який потрібно створити, використовуйте PUT. Якщо клієнт знає URL методу/класу створює потрібний об'єкт, використовуйте POST.

Тут наведено "хороший приклад Ідемпотентний операції String userId = this.request [" USER_ID "];". У чому приклад хороший не зрозумію? Якої шкоди може бути від цієї операції якщо ми використовуємо POST а не PUT? Був би дуже вдячний, якби мені дали простий приклад, де краще застосовувати PUT і чому.

Наприклад величезне число сервісів для завантаження файлів використовує PUT. Чим це виправдано?

Мене цікавить зокрема завантаження файлів.

Alex · 3 роки тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація