Це захоплююче питання. Інші відповіді тут є умоглядними, а в деяких випадках невірними. Замість того, щоб писати свою думку тут, я фактично провів деякі дослідження та знайшов оригінальні джерела, які обговорюють, чому видалення та розміщення не є частиною стандарту форми HTML5.
Як виявляється, ці методи були включені до кількох, ранніх чернетках HTML5 (!), Але пізніше були видалені в наступних чернетках . Mozilla реально реалізував це і в бета-версії Firefox .
Що було обґрунтуванням для вилучення цих методів із проекту? W3C обговорював цю тему у звіті про помилки 10671 . Майк Амундсен аргументував цю підтримку:
Виконання PUT і DELETE для зміни ресурсів на початковому сервері прямолінійно для сучасних веб-браузерів, що використовують об’єкт XmlHttpRequest. Для незаписаних взаємодій браузера це не так просто. [...]
Ця закономірність потрібна настільки часто, що кілька часто використовуваних веб-фреймворків / бібліотек створили "вбудований" обхід. [...]
Інші міркування:
- Використання POST як тунелю замість використання PUT / DELETE може призвести до кешування невідповідностей (наприклад, відповіді POST можуть бути керованими , PUT відповіді - не (6), DELETE відповіді не (7))
- Використання неідентипотентного методу (POST) для виконання ідентифікаційної операції (PUT / DELETE) ускладнює відновлення через збої в мережі (наприклад, "Чи безпечно повторити цю дію?").
- [...]
Варто прочитати весь його пост.
Том Уордроп також робить цікавий момент:
HTML нерозривно пов'язаний з HTTP. HTML - це людський інтерфейс HTTP. Тому автоматично сумнівно, чому HTML не підтримує всі відповідні методи в специфікації HTTP. Чому машини можуть PUT і DELETE використовувати ресурси, а людина не може? [...]
Суперечливо, що, хоча HTML намагається забезпечити семантичну розмітку, він до цього часу не докладав таких зусиль для забезпечення семантичних запитів HTTP.
Помилка була врешті-решт закрита, оскільки не виправлено Ian Hickson, з наступним обґрунтуванням:
PUT як метод форми не має сенсу, вам не хотілося б PUT форми корисного навантаження. DELETE має сенс лише якщо немає корисного навантаження, тому це не має великого сенсу і для форм.
Однак це ще не кінець історії! Проблема була закрита в трекері помилок W3C і перейшла до трекера випуску робочої групи HTML:
https://www.w3.org/html/wg/tracker/isissue/195
На даний момент здається, що головна причина, чому немає підтримки цих методів, полягає в тому, що ніхто не знайшов час, щоб написати для цього вичерпну специфікацію.