¿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?
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".
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
CRLF
de una solicitud HTTP .
Una solicitud con Content-Type: application/json
puede 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-data
su 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-Type
se 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.
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 como
key1=value1&key2=value2
- Siempre que Google Chrome puede distinguir los datos del formulario de una carga útil de solicitud genérica, personaliza el formato.