O link foi renderizado no seu navegador, quando você vê uma página web ele não está no site, ele foi baixado do site e "salvo" em tempo de execução ou cache e é exibido na sua tela e você clicar no link faz uma execução no BROWSER e o browser vai solicitar uma requisição HTTP para baixar a próxima baixa e descarrega a página anterior e irá processar a nova assim que o download for sendo completado ou que o buffer completo concluir (depende da maneira que a página irá descarga)
Não acontece nada, o link <a></a>
já está na sua máquina, o processo quem faz é o navegador, o link é apenas um gatilho.
Após o link o navegador vai fazer uma requisição HTTP GET, mais ou menos assim:
GET / HTTP/1.1
Host: siteacessado.com
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Language: pt-BR,en,en;q=0.9
Accept-Encoding: gzip, deflate
- baixar o conteudo
- o servidor (vulgo backend) processar a solicitação HTTP no apache/nginx/iis ("servidor web")
- Opcional, se o site for dinamico, como uma linguagem de programação que gera páginas dinamicamente o servidor web enviará a solicitação HTTP para o SAPI que vai comunicar com o interpretador linguagem backend, um bastante comum usado para varios interpretadores e até executáveis é o fast-CGI
- o servidor HTTP processa (seja dinamico ou não) e obtem a resposta HTTP
- a resposta HTTP é enviada via download
- o navegador ao terminar o download renderiza a página
O servidor não interpreta os arquivos, quem faz isto é o navegador, o servidor pode enviar qualquer coisa, afinal é informação apenas, a unica coisa que ele tem que fazer para facilitar é enviar o header Content-Type para ajudar o navegador a sabe qual o formato provavelmente é o do corpo que foi baixado.