#4 Y si quieres verlo por ti mismo usa telnet contra, pongamos www.google.com:
~ $ telnet www.google.com 80
Trying 216.58.211.228...
Connected to www.google.com.
Escape character is '^]'.
GET / HTTP1.1 <------- Esta es mi petición
HTTP/1.0 400 Bad Request <------- cabeceras de respuesta del servidor. Vemos que hay error en mi petición. Y que el body tiene mimetype text/html
Content-Type: text/html; charset=UTF-8
Referrer-Policy: no-referrer
Content-Length: 1555
Date: Wed, 29 Apr 2020 07:32:34 GMT
<!DOCTYPE html> <------- este es el body de la respuesta
<html lang=en>
<meta charset=utf-8>
<meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
<title>Error 400 (Bad Request)!!1</title>
<style>
*{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (webkitmin-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
</style>
<a href=//www.google.com/><span id=logo aria-label=Google></span></a>
<p>400. <ins>That’s an error.</ins>
<p>Your client has issued a malformed or illegal request. <ins>That’s all we know.</ins>
Connection closed by foreign host. <----- servidor cierra conexión, tras la respuesta.
Este ejemplo es el primer request que el navegador que uses siempre hace. Si el body contiene otros recursos (como en el ejemplo que puse), como imágenes, javascripts y css, el cliente vuelve a requerir mediante sucesivos requests esos recursos adicionales referenciados en el documento html original, causando lo que describí, decenas de requests que uno tras otro van haciéndose con todos los recursos necesarios para visualizar correctamente dicha web.
~ $ telnet www.google.com 80
Trying 216.58.211.228...
Connected to www.google.com.
Escape character is '^]'.
GET / HTTP1.1 <------- Esta es mi petición
HTTP/1.0 400 Bad Request <------- cabeceras de respuesta del servidor. Vemos que hay error en mi petición. Y que el body tiene mimetype text/html
Content-Type: text/html; charset=UTF-8
Referrer-Policy: no-referrer
Content-Length: 1555
Date: Wed, 29 Apr 2020 07:32:34 GMT
<!DOCTYPE html> <------- este es el body de la respuesta
<html lang=en>
<meta charset=utf-8>
<meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
<title>Error 400 (Bad Request)!!1</title>
<style>
*{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (
webkitmin-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}</style>
<a href=//www.google.com/><span id=logo aria-label=Google></span></a>
<p>400. <ins>That’s an error.</ins>
<p>Your client has issued a malformed or illegal request. <ins>That’s all we know.</ins>
Connection closed by foreign host. <----- servidor cierra conexión, tras la respuesta.
Este ejemplo es el primer request que el navegador que uses siempre hace. Si el body contiene otros recursos (como en el ejemplo que puse), como imágenes, javascripts y css, el cliente vuelve a requerir mediante sucesivos requests esos recursos adicionales referenciados en el documento html original, causando lo que describí, decenas de requests que uno tras otro van haciéndose con todos los recursos necesarios para visualizar correctamente dicha web.