¿Por qué una solicitud POST utiliza el indicador PSH en el primer paquete?

¿Por qué una solicitud POST utiliza el indicador PSH en el primer paquete?

Estoy tratando de comprender el comportamiento de la transacción POST HTTP. Cuando hay una solicitud GET con un URI largo que necesita enviar más de un paquete, el indicador PSH se utiliza en el último paquete para indicarle al servidor que los datos deben enviarse a la aplicación receptora inmediatamente.

Sin embargo, en una solicitud POST, al cargar una imagen en imgur (por ejemplo), el indicador PSH está presente en cada parte de la carga útil hasta que finaliza. Creo que corríjanme si me equivoco, este comportamiento se debe simplemente a que cada parte de la transacción es grande y debe enviarse a las capas superiores lo más rápido posible para evitar un búfer enorme y que este comportamiento se use en tiempo real. y aplicaciones interactivas. Pero ¿es esto un estándar? ¿Es de esperar este comportamiento en cada solicitud POST?

gracias de antemano

Respuesta1

"Creo que... este comportamiento se debe simplemente a que cada parte de la transacción es grande y debe enviarse a las capas superiores lo más rápido posible para evitar un búfer enorme y que este comportamiento se utiliza en aplicaciones interactivas y en tiempo real".

El comportamiento que usted describe está determinado por el cliente (software) de envío. Un error común acerca de las implementaciones de TCP y UDP es que solo hay una forma de codificar, pero hay que tomar decisiones al codificar... y no todos los programadores toman las mismas decisiones. Los RFC son tus amigos.

http://www.freesoft.org/CIE/RFC/1122/88.htm "Cuando una aplicación emite una serie de llamadas ENVIAR sin configurar el indicador PUSH, el TCP PUEDE agregar los datos internamente sin enviarlos. De manera similar, cuando se recibe una serie de segmentos sin el bit PSH, un TCP PUEDE poner en cola los datos internamente sin pasar a la aplicación receptora."

ElPUEDEen esa oración ofrece al programador (del cliente emisor) la opción de configurar o no el bit PSH. En el caso que usted describe, el programador eligió priorizar el envío de la carga útil a la aplicación en lugar de almacenar en el búfer una serie de ellas para enviar la pila a la vez.

Espero que ayude.

información relacionada