2010-10-02 13 views
1

La plupart des serveurs et frameworks Web supportent les méthodes HTTP GET et POST par défaut et ne favorisent pas, voire ne permettent pas l'utilisation des méthodes PUT et DELETE. Je sais que l'utilisation de ce dernier est conceptually more appropriate and e.g. minimizes the URL scheme du site, mais y a-t-il réellement des avantages de performance impliqués (comme moins de demandes, moins de traitement)? Si oui, alors une brève explication avec un exemple serait parfaite pour moi.Les méthodes HTTP PUT et DELETE présentent-elles des avantages en termes de performances?

Répondre

3

L'utilisation de PUT et DELETE sur POST ne présente aucun avantage en termes de performances. En outre, il n'est pas essentiel d'utiliser PUT et DELETE pour être RESTful. C'est recommandé mais pas obligatoire. Voir this.

2

Il est important de distinguer ce qu'est le framework et ce qu'est un système REST. C'est-à-dire que l'utilisation d'un framework pour le web ne rendra pas nécessairement le système RESTful. Cela dit, il ne s'agit pas de ce que vous utilisez, mais de la façon dont vous l'utilisez. Donc, PUT et DELETE n'ont pas besoin d'être RESTFul, mais ils représentent une décision intéressante.

Voir, lorsqu'un client effectue un DELETE, il doit savoir quelle ressource supprime. Et il supprime la ressource complète. Si vous avez par exemple un Bill (en-tête plus des lignes de détails), et que vous voulez représenter le Bill complet comme une grande ressource, DELETE ne fonctionnera pas. Vous pouvez réellement modifier la facture avec POST. Si vous avez déjà une ressource appelée ligne de détail, et que vous voulez l'éliminer, utiliser POST quand il y a une commande DELETE pour la ressource peut violer les contraintes du protocole.

Si vous ne supprimez rien, jamais, parce que le client n'a aucun contrôle sur la création et la suppression de ressources par exemple, ne pas utiliser DELETE devient naturel.

Questions connexes