¿Cuál es la diferencia entre "Solicitar carga útil" y "Datos de formulario" como se ve en la pestaña Red de las herramientas de desarrollo de Chrome?

Resuelto red888 asked hace 10 años • 3 respuestas

Tengo una aplicación web antigua que debo soportar (que no escribí).

Cuando completo un formulario y lo envío, reviso la pestaña "Red" en Chrome, veo "Solicitar carga útil" donde normalmente vería "Datos del formulario". ¿Cuál es la diferencia entre los dos y cuándo se enviaría uno en lugar del otro?

Busqué esto en Google, pero realmente no encontré ninguna información que lo explique (solo personas que intentan que las aplicaciones de JavaScript envíen "Datos de formulario" en lugar de "Solicitar carga útil".

red888 avatar Apr 17 '14 02:04 red888
Aceptado

La carga útil de la solicitud, o para ser más precisos: el cuerpo de la carga útil de una solicitud HTTP

  • Son los datos que normalmente se envían mediante una solicitud POST o PUT . Es la parte que sigue a los encabezados y al final CRLFde una solicitud HTTP .

Una solicitud con Content-Type: application/jsonpuede verse así:

POST /some-path HTTP/1.1
Content-Type: application/json

{ "foo" : "bar", "name" : "John" }

Si envía esto por AJAX, el navegador simplemente le muestra lo que envía como cuerpo de carga útil. Eso es todo lo que puede hacer porque no tiene idea de dónde provienen los datos.

Si envía un formulario HTML con method="POST"y Content-Type: application/x-www-form-urlencoded/o Content-Type: multipart/form-datasu solicitud puede verse así:

POST /some-path HTTP/1.1
Content-Type: application/x-www-form-urlencoded

foo=bar&name=John

En este caso, los datos del formulario son la carga útil de la solicitud. Aquí el navegador sabe más: sabe que bar es el valor del campo de entrada foo del formulario enviado. Y eso es lo que te está mostrando.

Por lo tanto, difieren en la forma en que Content-Typese envían los datos, pero no en la forma. En ambos casos, los datos están en el cuerpo del mensaje. Y Chrome distingue cómo se le presentan los datos en las Herramientas para desarrolladores.

lefloh avatar Apr 18 '2014 10:04 lefloh

tl;dr de la respuesta (excelente) de lefloh:

  • Si una solicitud HTTP tiene un cuerpo de mensaje, es una "carga útil de solicitud".
  • "Datos de formulario" es un subconjunto de la carga útil de solicitud en el que el cuerpo está codificado comokey1=value1&key2=value2
  • Siempre que Google Chrome puede distinguir los datos del formulario de una carga útil de solicitud genérica, personaliza el formato.
Dave Fort avatar Mar 16 '2021 16:03 Dave Fort