Escribir una respuesta
Lección 24 de 47 del curso Redes con la terminal de Coddy.
Has leído muchas respuestas. Ahora escribe una.
nc -l escucha en un puerto, y todo lo que introduzcas en su entrada se envía al primer cliente que se conecte. Eso te convierte en el servidor, sin que intervenga ningún servidor web:
printf 'HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\n\r\nhand written' | nc -l -p 9114 &Fíjate en lo que es: una línea de estado, una cabecera, una línea en blanco y después el cuerpo. Exactamente la estructura que has estado leyendo, escrita a mano.
Ahora cualquier cosa que hable HTTP lo aceptará. Apunta curl al puerto y mostrará un 200 perfectamente normal con un cuerpo text/plain, porque eso es todo lo que hace un servidor web: escribir texto con esta estructura.
Este truco es realmente útil en el trabajo. Cuando necesites ver qué te está enviando algo, pon un nc -l en su camino y lee la solicitud que realiza.
Desafío
ExpertoSé el servidor, manualmente.
Usando nc -l en el puerto 9114, sirve una respuesta cuya línea de estado sea HTTP/1.1 200 OK, con un encabezado Content-Type: text/plain y un cuerpo exactamente igual a hand written. Después, obténla con curl e imprime el cuerpo.
Salida esperada:
hand writtenUsa
printfcon finales de línea\r\ny recuerda la línea en blanco antes del cuerpo.
Pruébalo tú mismo
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Redes con la terminal
2Nombres y DNS
Por qué existen los nombresEl archivo hostsBuscar un nombreTipos de registrosRepaso: nombres5HTTP a mano
Anatomía de una solicitudMétodos de solicitudCódigos de estadoEncabezados de respuestaEscribir una respuestaRepaso: conceptos básicos de HTTPPractica por tu cuenta: Playground de Terminal