Різниця між 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 роки тому
Ще немає коментарів