Recapitulação: Fundamentos de HTTP
Lição 25 de 47 do curso Redes com o Terminal da Coddy.
HTTP é texto em um formato fixo, nos dois sentidos.
Uma requisição é um método, um caminho e uma versão, depois cabeçalhos, depois uma linha em branco e, em seguida, um corpo opcional. Uma resposta é uma versão e um código de status, depois cabeçalhos, depois uma linha em branco e, em seguida, o corpo.
O método diz que tipo de operação é: GET lê e deve ser seguro, POST envia, PUT armazena, DELETE remove.
O código de status diz como foi, e o primeiro dígito atribui a responsabilidade: 2xx funcionou, 3xx vá para outro lugar, 4xx sua requisição estava errada, 5xx o servidor falhou.
Os cabeçalhos descrevem o corpo, principalmente Content-Type. E cada uma dessas partes é algo que você pode digitar manualmente, o que vale a pena lembrar na próxima vez que HTTP parecer mágica.
Desafio
EspecialistaLeia uma resposta inteira, de cima a baixo, de um servidor que você mesmo escreveu.
Sirva uma resposta escrita manualmente na porta 9115, cuja linha de status seja HTTP/1.1 404 Not Found, com um cabeçalho Content-Type: text/plain e o corpo nothing here. Em seguida, use curl para imprimir o código de status e, na linha seguinte, o corpo.
Saída esperada:
404
nothing hereCada
nc -latende a um cliente e é encerrado, portanto inicie um segundo antes da segunda solicitação.
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