2010-06-20 46 views

Respuesta

3

Si desarrolla su aplicación web solo para el navegador, debe ir con la publicación y obtener.

Pero, p. REST-API debería/podría hacer uso de los métodos de poner y eliminar. Por lo tanto, podría definir mejor qué acción desea ejecutar en recursos especiales. http://en.wikipedia.org/wiki/Representational_State_Transfer

+0

¿Qué hay de las aplicaciones web que utilizan scripts del lado del cliente para comunicarse con el servidor a través de servicios web? –

+0

Sí, tienes razón. Pongo, por ejemplo antes de REST-API porque fue el primer ejemplo en el que pensé. Hay varias razones para poner/eliminar métodos. Los servicios web son una buena palabra de moda. :) – TooAngel

3

Hay un artículo muy interesante sobre este tema aquí: http://www.artima.com/lejava/articles/why_put_and_delete.html

un ligero extracto:

PUT y DELETE se encuentran en el medio entre GET y POST. La diferencia entre PUT o DELETE y POST es que PUT y DELETE son idempotentes, mientras que POST no lo es. PUT y DELETE se pueden repetir si es necesario. Supongamos que intenta subir una nueva página a un sitio. Supongamos que quiere crear una página nueva al http://www.example.com/foo.html, por lo que escribe su contenido y lo PONE en esa URL. El servidor crea esa página en esa URL que usted proporciona. Ahora, supongamos que por alguna razón su conexión de red se cae. No está seguro, ¿la solicitud fue aprobada o no? Tal vez la red es lenta. Quizás hubo un problema con el servidor proxy. Por lo tanto, está perfectamente bien intentarlo de nuevo, o de nuevo, tantas veces como desee. Debido a que PONER el mismo documento en la misma URL diez veces no será diferente de ponerlo una vez. Lo mismo es cierto para DELETE. Puedes BORRAR algo diez veces, y eso es lo mismo que borrarlo una vez.

+0

Como dice ese artículo, sin embargo, los navegadores realmente no soportan poner y eliminar. ¿Hay alguna razón para ir y emular a través de la publicación en lugar de simplemente usar la publicación? –

+0

Es posible que los navegadores no admitan el envío y la eliminación, lo que no significa que los servidores no lo manejen (donde importa la idempotencia). Ahora que más desarrolladores están aprovechando tecnologías como AJAX, se está convirtiendo en un problema menor que no puede usarlas en formularios HTML. –

+1

O para decirlo de otra manera: los navegadores * do * los admiten, solo los formularios HTML no. Sin embargo, hay muchas otras maneras en que un navegador puede enviar datos que solo a través de formularios HTML. ECMAScript es uno, Flash es uno, Java, Silverlight, lo que sea. –

Cuestiones relacionadas