Fecha porque o navegador abre uma conexão TCP, executa a transação HTTP e, em seguida, diz "Estou pronto!" que geralmente fecha a conexão. Como você descobriu, a opção -k irá k eep o soquete de escuta aberto para conexões adicionais.
Se eu usar o netcat para ouvir uma porta da seguinte forma:
nc -l 5555 , posso ir para localhost:5555 no meu navegador da web e o netcat imprimirá a solicitação. No entanto, se eu clicar em atualizar no meu navegador, o netcat pára de funcionar. O que está causando isso?
Descobri que especificar -k força o netcat a escutar após a conclusão da conexão atual, mas estou me perguntando o que faz com que seja fechado por padrão.
Tags netcat