Necesito invocar un proceso que no requiera ninguna entrada del usuario, solo un desencadenador. Planeo usar POST/uri sin un cuerpo para activar el proceso. Quiero saber si esto se considera malo desde las perspectivas HTTP y REST?¿Se considera una mala práctica realizar HTTP POST sin cuerpo de entidad?
Respuesta
Pregunté this question en el grupo de trabajo IETF HTTP hace unos meses. La respuesta corta es, sí, está bien, pero sugiero leer el hilo para más detalles.
El uso de un POST en lugar de un GET es perfectamente razonable, ya que también instruye al servidor (y las puertas de enlace a lo largo del camino) a no devolver una respuesta en caché.
+1 Hmm es bueno saberlo. – Ben
Si usa POST/uri sin cuerpo, es algo así como usar una función que no toma un argumento .e.g int post (void); por lo tanto, es razonable tener una función para su clase de recurso que pueda cambiar el estado de un objeto sin tener un argumento. Si considera implementar la función táctil Unix para un URI, ¿no es una buena opción?
Touch/finger es una ilustración de libro de texto de una acción no ideopotente que es intrínsecamente sin contenido. –
POST está completamente bien. En diferencia de GET con POST, está cambiando el estado del sistema (lo más probable es que su desencadenante esté "haciendo" algo y cambiando los datos).
Ya usé POST sin carga útil y "se siente" bien. Una cosa que debe hacer cuando usa POST sin carga: Pase el encabezado Content-Length: 0
. Recuerdo problemas con algunos proxies cuando api-client no lo pasaba.
- 1. ¿Se considera una mala práctica utilizar el posicionamiento absoluto?
- 2. ¿Se considera una mala práctica usar atributos HTML no estándar?
- 3. HTTP Post Con Cuerpo
- 4. Interfaz sin miembros: ¿mala práctica?
- 5. ¿Por qué una identificación negativa o cero se considera una mala práctica?
- 6. Java asignar un nuevo valor a un parámetro, ¿se considera una mala práctica?
- 7. ¿Se considera una mala práctica poner un bucle infinito dentro de TThread.Execute?
- 8. Mezcla GET con POST: ¿es una mala práctica?
- 9. ¿Se considera una mala práctica que los objetos ViewModel tengan el Dispatcher?
- 10. ¿Se considera una mala práctica escribir código c en Object-C/Cocoa Framework?
- 11. ¿Por qué 'para (var item in list)' con arrays se considera una mala práctica en JavaScript?
- 12. Bloquear en un objeto mutable: ¿por qué se considera una mala práctica?
- 13. ¿Se permite enviar una respuesta HTTP POST a un cuerpo de respuesta?
- 14. ¿Se consideran iframes 'mala práctica'?
- 15. ¿El uso de "net/http" de las variables globales se considera una buena práctica en golang?
- 16. ¿Es una mala práctica escribir a $ _POST?
- 17. es @unlink una mala práctica?
- 18. ¿El typedef dentro de un cuerpo de función es una mala práctica de programación?
- 19. ¿Está intentando atrapar en una mala práctica de la vista?
- 20. ¿Los argumentos NULL son una mala práctica?
- 21. Mala práctica: ¿exponer un evento en una interfaz?
- 22. Respondiendo a una petición HTTP POST idempotente
- 23. ¿En general es una mala práctica tener muchos parámetros "initWith"?
- 24. JSHint considera una variable for-in 'mala'. ¿Qué significa esto?
- 25. ¿Se considera mala forma ejecutar una función dentro de una instrucción condicional?
- 26. ¿La palabra clave "con" Delphi es una mala práctica?
- 27. ¿Se considera una buena práctica crear y enviar eventos JavaScript personalizados?
- 28. ¿se considera una buena práctica tener condicionales en archivos de encabezado públicos?
- 29. Captura de datos HTTP POST sin formato durante la excepción
- 30. ¿Puedo cambiar el valor de un valor POST sin volver a realizar la POST?
Gracias a todos por sus sugerencias. Aunque todos dieron una sugerencia similar, es decir, está bien publicar con cero contenido, estoy seleccionando la respuesta de Darrel como correcta debido al enlace a la discusión IETF. La discusión aclara mucho. –