En caso de duda, ask Anne:
http://annevankesteren.nl/2007/10/http-method-support
Es un par de años, pero le da un certificado de buena salud a PUT y DELETE, sino que también trata de diferentes casos de verbos más oscuros como TRACE y PROPFIND:
Van Kesteren probó Firefox 3, Opera 9.5 e Internet Explorer 7, una mezcla de prelanzamiento y lanzamientos. GET y POST funcionaron como se esperaba, y todos respaldaron el conjunto estándar de métodos http de RFC 2616. Hay algunos problemas de la carcasa, por lo que debe intentar mantenerse siempre en mayúscula; TRACE y OPTIONS son casos extremos con problemas encontrados en Firefox y Opera, respectivamente. CONNECT y TRACE y SEARCH son problemáticos para IE. Tenga en cuenta que esto fue escrito en 2007 por lo que YMMV.
Creo que toda la confusión sobre los navegadores que no soportan que no sea GET y POST se deriva del hecho de que la especificación HTML enumera única estos dos en la HTML <form>
element:
El atributo del método de los elementos de formulario especifica el método HTTP utilizado para enviar el formulario al agente de procesamiento. Este atributo puede tomar dos valores:
get: Con el HTTP "get" método, el conjunto de formularios de datos se añade a la URI especificada por el atributo de acción (con un signo de interrogación() como "?" separador) y este nuevo URI se envía al agente de procesamiento.
post: Con el método HTTP "post", el conjunto de datos del formulario se incluye en el cuerpo del formulario y se envía al agente de procesamiento.
Ésta es la razón por la cual los navegadores GET y POST único soporte de forma nativa en HTML; ya que el estándar lo dice.
La corriente (enero de 2014) XMLHttpRequest specification en los otros estados de la mano explícitamente que los métodos de petición debe permitirse a través con algunas excepciones (CONNECT, vestigios o pista), y que los métodos RFC2616 deben uppercased:
\ 6. Si el método es una coincidencia insensible a mayúsculas y minúsculas para CONNECT, DELETE, GET, HEAD, OPTIONS, POST, PUT, TRACE o TRACK, reste 0x20 de cada byte en el rango 0x61 (ASCII a) a 0x7A (ASCII z).
Si no coincide con ninguno de los anteriores, se transmite literalmente, incluso en la solicitud final.
EDITAR Otra fuente que ha llegado a más o menos la misma conclusión: que XMLHttpRequest apoya PUT y DELETE: http://jshirley.vox.com/library/post/xmlhttprequest-and-rest.html (advertencia, enlace roto partir de mayo de 2014).
EDIT Por supuesto, la pregunta ha sido asked before, pero las respuestas de dos años siguen siendo válidas.
EDITAR Breve resumen de la página de Anne van Kesteren partir de 2007, y la sección añadida en HTML vs XMLHttpRequest
¿Qué tiene esto que ver con los navegadores? –
Jonh: Varios de ellos no pueden realizar consultas PUT DELETE. Esto es principalmente importante en las consultas ajax, ya que las buenas formas antiguas no pueden hacer esto por especificación. Además, en los servicios web de descanso, la semántica detrás de PUT y DELETE importa. –