Uma solicitação HTTP tem vários cabeçalhos, não apenas o caminho solicitado. Um desses cabeçalhos (o cabeçalho Host:
) é o nome do host que você solicitou (portanto, "unix.stackexchange.com" para unix.SE). O Apache analisa isso e atende a solicitação apropriadamente.
Como uma observação: o HTTPS costumava ser restrito a um certificado por IP, porque o cabeçalho Host:
é criptografado. Até que o servidor obtenha esse cabeçalho, ele não saberá qual certificado enviar, mas não poderá obter o cabeçalho até receber a solicitação (que requer o certificado). Isso foi resolvido no TLS por meio da extensão Indicação do nome do servidor, que adiciona algo como o cabeçalho Host
no handshake inicial.