web-dev-qa-db-fra.com

Faut-il utiliser PUT et DELETE dans les formulaires?

En supposant que mon application Web prend entièrement en charge PUT et DELETE côté serveur, dois-je les utiliser?

Fondamentalement, ma question est de savoir combien de navigateurs prennent en charge ceci:

<form method="PUT">

ou

<form method="DELETE">

Y a-t-il des avantages à utiliser ces deux méthodes HTTP autres que la conformité REST? (en supposant que le remplacement de ces deux méthodes est le POST couramment utilisé)

70
Earlz

Votre question implique deux normes étroitement liées mais distinctes, HTTP et HTML. Les méthodes PUT et DELETE font partie de HTTP. En HTTP, ils ont une utilisation évidente dans les interfaces RESTful et d'autres services qui s'appuient sur HTTP tels que Webdav.

HTML jusqu'à la version 4 ne définit que l'utilisation de POST et GET pour les formulaires. HTML5 pour le moment semble pouvoir prendre en charge les autres méthodes. [Remarque, la prise en charge n'est pas incluse dans le w3 actuel Brouillon]

Toute prise en charge actuelle du navigateur (je n'en connais pas directement) sera très limitée et ne sera vraiment utile qu'en tant qu'expérience au bord saignant.

76
leebriggs

GET, POST, PUT et DELETE (il y en a d'autres) font partie de la norme HTTP, mais vous êtes limité à GET et POST dans les formulaires HTML pour le moment.

Comme Andrew l'a mentionné, vous pouvez utiliser PUT et DELETE dans les demandes AJAX; cependant, cela ne fonctionne que dans certains navigateurs (voir http://api.jquery.com/jQuery.ajax). / ).

27
BMiner

Non, GET & POST sont les seules valeurs de méthode HTTP valides pour l'attribut method. Voir spécification HTML pour plus d'informations.

Je crois que vous pouvez les utiliser dans les demandes AJAX, cependant.

14
Andrew Marshall