Você pode usar o telnet para se conectar ao servidor, sabendo que (
Estou assumindo aqui que você deseja usar um servidor da Web para se comunicar com) você precisará operar dentro das restrições da especificação HTTP.
Por exemplo, a especificação link
afirma:
Origin servers MUST include a Date header field in all responses, except in these cases: ...
aqui é a saída do terminal de uma "conversa" que tive com um servidor da Web sobre o telnet.
Tendo em mente que a configuração dos servidores web determinará por quanto tempo a conexão TCP será mantida ativa - ou seja, o tempo que você tem para digitar uma requisição HTTP devidamente formada antes que o servidor rompa a conexão TCP devido a "inatividade". mas isso é configurável.
Se você inserir cada solicitação antes do tempo limite, estará basicamente enviando muitas solicitações e respostas HTTP através de uma única conexão TCP contínua.
% telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET / HTTP/1.1 <---- this in where you type characters "interactively"
Host: localhost <---- this in where you type characters "interactively"
<-- per the HTTP specification this has to be an emtpy line
to tell the server you are done with your "message"
HTTP/1.1 200 OK
Server: nginx/1.10.0 (Ubuntu)
Date: Sat, 17 Sep 2016 07:38:08 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
45d
<html>
[truncated ... ]
</html>
0
GET / HTTP/1.1 <-- now you are back at prompt
Host: localhost Note: you need to enter the 'Host' header if you are talking
to a webserver
HTTP/1.1 200 OK
Server: nginx/1.10.0 (Ubuntu)
Date: Sat, 17 Sep 2016 07:41:07 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
45d
<html>
[truncated]
Obviamente, para obter um "diálogo" mais limpo, você precisaria limpar a saída do servidor da Web ou do seu aplicativo que estaria lidando com as solicitações.
O nginx ttp_core_module
é responsável por gerenciar o tipo padrão usando o link do Yahoo!
Para adicionar cabeçalhos, você pode usar o http_headers_module
link