A volte puoi saperlo, a volte no.
Se l'HTML viene generato sul lato client, puoi facilmente capire quale lingua guardando la fonte nel tuo browser web. Questi linguaggi includono: ruby on rails, javascript, java, ecc. Sul lato client il sorgente è aperto all'utente e deve essere onesto su quale tecnologia sia.
Se viene generato l'HTML sul lato server potresti non sapere quale linguaggio di programmazione l'ha generato. Questi linguaggi includono: PHP, C ++ e molti altri linguaggi. Sul lato server, per quanti modi ti vengono in mente di indovinare quale lingua è, ci sono altrettanti modi per nascondere la tecnologia.
Supponi di essere un amministratore web che vuole nascondere la tecnologia lato server. Scegli una delle tecniche elencate in un'altra domanda per tentare di identificare la lingua. Ad esempio, l'estensione * .php per un file. Ora, configura il tuo server web per eseguire codice C da un file con estensione * .php. I tuoi utenti non avranno modo di visualizzare il sorgente (poiché entrambe le lingue sono ugualmente in grado di produrre lo stesso output, per completezza di Turing), ma saranno indotti a pensare che tu stia utilizzando PHP.
Perché qualcuno dovrebbe vuoi offuscare la scelta della tecnologia lato server? Perché i linguaggi CGI hanno varie vulnerabilità che sono più facili da prendere di mira se gli utenti finali sanno quale di quelle lingue stai utilizzando. Indurre in errore gli utenti sulle tecnologie lato server che stai utilizzando è una misura di sicurezza molto ragionevole.