Escrevendo uma Resposta
Lição 24 de 47 do curso Redes com o Terminal da Coddy.
Você já leu muitas respostas. Agora escreva uma.
nc -l escuta em uma porta, e tudo o que você fornece à sua entrada é enviado ao primeiro cliente que se conecta. Isso faz de você o servidor, sem nenhum servidor web envolvido:
printf 'HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\n\r\nhand written' | nc -l -p 9114 &Observe o que é isso: uma linha de status, um cabeçalho, uma linha em branco e, depois, o corpo. Exatamente o formato que você tem lido, digitado manualmente.
Agora, qualquer coisa que fale HTTP vai aceitá-lo. Aponte o curl para a porta, e ele informará um 200 perfeitamente comum com um corpo text/plain, porque isso é tudo o que um servidor web faz: escreve texto nesse formato.
Esse truque é realmente útil no trabalho. Quando precisar ver o que algo está enviando para você, coloque um nc -l no caminho e leia a requisição que ele faz.
Desafio
EspecialistaSeja o servidor, manualmente.
Usando nc -l na porta 9114, forneça uma resposta cuja linha de status seja HTTP/1.1 200 OK, com um cabeçalho Content-Type: text/plain e um corpo exatamente igual a hand written. Em seguida, busque-a com curl e imprima o corpo.
Saída esperada:
hand writtenUse
printfcom terminações de linha\r\ne lembre-se da linha em branco antes do corpo.
Experimente você mesmo
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Redes com o Terminal
2Nomes e DNS
Por que os nomes existemO arquivo hostsConsultando um nomeTipos de registrosRecapitulação: nomes5HTTP na Prática
Anatomia de uma RequisiçãoMétodos de RequisiçãoCódigos de StatusCabeçalhos de RespostaEscrevendo uma RespostaRecapitulação: Fundamentos de HTTP3Portas e Sockets
O que é uma portaPortas conhecidasLocalhostEscutando vs. conectandoRecapitulação: portas6curl em Detalhes
Visualizando os CabeçalhosSalvando RespostasCabeçalhos PersonalizadosStatus e TempoCódigos de Saída do curlRecapitulação: Opções do curl9Autenticação e Depuração
Chaves de API e BearerO User AgentTimeouts e Novas TentativasLendo uma FalhaRevisão: DepuraçãoPratique por conta própria: Playground de Terminal