Wer sich beim erstellen einer Web-Applikation am REST Prinzip orientieren will und dies nicht nur für Webservices sondern auch fürs User-Interface benutzen will, stößt ganz schnell an die Grenzen von HTML-Formularen, die in den meisten Browsern nämlich nur GET und POST als Methode erlauben – alles andere, also auch PUT und DELETE wird standardmäßig als GET aufgefasst.
Das ist aber kein Grund aufzugeben, Ruby on Rails macht es vor:
How do forms with PUT or DELETE methods work?
CakePHP benutzt den selben Hack (oh Wunder ;-)), wie man hier und hier sieht.
Konkret werden dabei abhängig von $_POST['method']
die Umgebungsvariablen $_SERVER['REQUEST_METHOD']
bzw. $_ENV['REQUEST_METHOD']
überschrieben, auf die Daten wird dann mittels $_REQUEST
zugegriffen, genau wie bei echten PUT oder DELETE Requests.
Somit können Web-Browser die selbe API wie andere Clients benutzen und es wird ein einheitlicher Standard für URLs unterstützt.