Правило API REST щодо тунелювання


11

Просто прочитайте це в Правилі API REST : GET і POST не повинні використовуватися для тунелювання інших методів запиту .

Тунелювання посилається на будь-яке зловживання HTTP, яке маскує або неправильно представляє наміри повідомлення та підриває прозорість протоколу. API REST не повинен ставити під загрозу його розробку, використовуючи методи запиту HTTP, намагаючись пристосувати клієнтів з обмеженою лексикою HTTP . Завжди правильно використовуйте методи HTTP, як визначено правилами в цьому розділі. [основні моменти]

Але тоді багато фреймворків використовують тунелювання для викриття інтерфейсів REST через HTML форми, оскільки <form>знає лише про GETта POST. Мій останній приклад - це MethodRewriteMiddlewareколба для флеш (подана автором рамки): http://flask.pocoo.org/snippets/38/ .

Будь-які способи дотримуватися "Правила" без злому або доповнень у веб-рамках?

Відповіді:


4

Ні, немає. Тож якщо вам потрібно, все одно порушуйте правило.

Я не знаю, у чому полягає велика справа. Протоколи весь час інкапсулюють інші протоколи. Наприклад, TCP / IP має чотири шари такої абстракції .

Звичайно, кращий шлях - це для клієнтів отримати програму та належну підтримку дієслів HTTP. Але це не ідеальний світ.


Дякую, добре всі це роблять все одно (а інші протоколи роблять це за дизайном, як ви це згадуєте). Я просто був трохи здивований, коли знайшов «правило», записане так чітко.
miku
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.