Slipjig mentionné ceci:
« La pile de navigateur fait, et à peu près automatiquement, si vous sommes prêts à vivre avec ses autres limitations (manque de support pour tous les verbes HTTP, coercition des codes de statut de réponse, etc.). "
Si cela est acceptable pour vous, regardez comment Microsoft se faire face à cela dans certaines de leurs API en utilisant l'en-tête X-HTTP Méthode personnalisée, comme la façon dont ils le font pour WCF et OData:
http://www.odata.org/developers/protocols/operations
dans MSDN, Microsoft mentionne également sur l'utilisation de ce REST conjointement avec base de SharePoint 2010 WCF REST API:
msdn.microsoft.com/en-us/library/ff798339.aspx
« dans la pratique, beaucoup de firew alls et autres intermédiaires réseau bloquent les verbes HTTP autres que GET et POST. Pour contourner ce problème, les services de données WCF (et le standard OData) prennent en charge une technique connue sous le nom de «tunneling verbe». Dans cette technique, les demandes PUT, DELETE et MERGE sont soumises en tant que demande POST et un en-tête X-HTTP-Method spécifie le verbe réel que le destinataire doit appliquer à la demande. Pour plus d'informations, consultez X-HTTP-Method sur MSDN et OData: Operations (la section Method Tunneling through POST) sur le site Web OData. "
Don Box avait également quelques mots à ce sujet, mais concernant spécifiquement GData:
www.pluralsight-training.net/community/blogs/dbox/archive/2007/01/16/45725.aspx
« Si je devais construire un client GData, je me demande sincèrement pourquoi je pris la peine de l'aide Les méthodes DELETE et PUT du tout étant donné que X-HTTP-Method-Override va fonctionner dans plus de cas/déploiements."
Il y a un article sur Silverlight et Java Interop qui aborde également cette limitation de Silverlight en donnant le même conseil:
www.infoq.com/articles/silverlight-java-interop
" Supports Silverlight seulement les méthodes HTTP GET et POST. Certains pare-feu restreignent l'utilisation des méthodes HTTP PUT et DELETE. Il est important de signaler que le véritable service RESTful peut être créé (en respectant tous les principes REST listés ci-dessus) en utilisant uniquement les méthodes HTTP GET et POST, en d'autres termes l'architecture REST ne nécessite pas de mappage spécifique vers HTTP . L'en-tête GData X-Http-Method-Override de Google est un exemple de cette approche.
Les méthodes HTTP suivantes overrides peuvent être définies dans l'en-tête pour accomplir la PUT et DELETE actions si les services Web interprètent l'en-tête Méthode HTTP-X-Override sur un POST:
* X-HTTP-Method-Override: PUT
* X-HTTP-Method-Override: DELETE"
Hope this helps -Josh