Eu não sei muito sobre como o SSH funciona, mas pelo que entendi ele basicamente pega sua entrada de teclado e canaliza para o shell de um console remoto. Bastante leve, uma vez que a conexão tenha sido estabelecida e as chaves trocadas.
O HTTP é um protocolo totalmente diferente. Funciona um pouco assim, supondo que seja apenas uma página HTML estática:
- Estabelecer sessão TCP / IP (isso pode envolver pesquisas de DNS)
- Enviar cabeçalhos HTTP
- Enviar corpo da solicitação HTTP (GET, POST, PUT, etc)
- O servidor da Web recebe uma solicitação HTTP
- O servidor da Web verifica seus mapeamentos de manipulador para descobrir como processar a solicitação
- O servidor da Web seleciona o arquivo HTML estático
- O servidor Web formula os cabeçalhos de resposta e os envia pelo fio
- Servidor da Web envia o arquivo HTML estático para baixo da linha
- Seu navegador recebe os cabeçalhos
- Seu navegador da web recebe a resposta
- Seu navegador aguarda a conexão ser encerrada
- Seu navegador da Web analisa o HTML
- Seu navegador da web renderiza o HTML para o monitor
Essa é uma visão geral bem básica, mas há muito mais que acontece no HTTP. Não é um protocolo "leve", diferente do SSH.
Além disso, ao contrário do SSH, a maioria das solicitações HTTP são independentes e suas conexões TCP são restabelecidas. O SSH mantém sua sessão TCP aberta, o que significa que toda vez que você pressiona uma tecla, você não precisa restabelecer a conexão. É por isso que seu navegador da Web pode sobreviver desconectado por alguns minutos, mas no momento em que você perde sua conexão, sua sessão SSH cai.