Estou aprendendo http e tentando usar o telnet para enviar minhas próprias solicitações http.
No prompt de comando, digitei:
telnet google.com 80
Resultado: A tela é limpa e vejo um cursor piscando. 1. Por que não vejo nenhuma indicação de que estou conectado?
Agora, tentando digitar um comando http (get index.html...), vejo o cursor se movendo para a direita enquanto digito, mas não vejo as letras aparecendo na tela. Apenas espaços em branco. 2. Por que isso acontece?
(Usando windows7 de 64 bits)
Responder1
HTTP não é baseado no protocolo telnet. Na verdade, há algumas coisas erradas em usar o telnet como base para "testar" um servidor HTTP. Primeiro, o telnet envia alguns bytes extras imediatamente após estabelecer uma conexão TCP para configurar os parâmetros da sessão. Segundo, o HTTP não faz eco dos dados enviados pelo ponto remoto. Terceiro, bons dispositivos IPS podem interromper conexões com a porta HTTP quando os dados da sessão inicial são enviados ou quando são encontradas violações de protocolo.
Usar o cliente telnet para testar um servidor HTTP é, na melhor das hipóteses, um hack. O cliente exibirá uma tela em branco quando a sessão TCP for estabelecida e exibirá apenas o que o servidor enviar de volta. Se você for inteligente, poderá recuperar uma página em muitos servidores... mas eu consideraria isso uma má prática. Leia sobre o protocolo HTTP sobre como formatar uma GET
solicitação.
Uma solicitação http básica é feita da seguinte maneira:
OBTER/HTTP/1.0
Observe a linha extra após a solicitação. Uma solicitação completa termina com uma nova linha em branco.
Responder2
Por que não vejo nenhuma indicação de que estou conectado?
Por que o servidor enviaria dados extras desnecessários e usaria mais largura de banda? No entanto, você está conectado e pode testar isso.
Tente entrar HTTP/1.0
e pressione [enter]. Você deve obter uma resposta.
(Um que contém um erro, mas geralmente é suficiente para testar se o servidor web está instalado e funcionando.)
Vejo o cursor se movendo para a direita enquanto digito, mas não vejo as letras aparecendo na tela. Apenas espaços em branco.
Isto é devido ao Windows Telnet. Possui eco local desabilitado por padrão.