A veces puedes saber, a veces no puedes.
Si el HTML se genera en el lado del cliente, entonces puede indicar fácilmente qué idioma mirando la fuente en su navegador web. Estos lenguajes incluyen: ruby on rails, javascript, java, etc. En el lado del cliente, la fuente está abierta al usuario, y debe ser honesta acerca de qué tecnología es.
Si el HTML se genera en el lado del servidor, es posible que no sepa qué lenguaje de programación lo generó. Estos lenguajes incluyen: PHP, C ++ y muchos otros lenguajes. En el lado del servidor, por todas las formas que pueda imaginar para adivinar de qué idioma se trata, existen tantas formas para que la tecnología se oculte.
Supongamos que usted es un administrador web que quiere ocultar la tecnología del lado del servidor. Elija una de las técnicas enumeradas en otra pregunta para intentar identificar el idioma. Por ejemplo, la extensión * .php para un archivo. Ahora, configure su servidor web para ejecutar el código C desde un archivo con una extensión * .php. Sus usuarios no tendrán forma de ver la fuente (ya que ambos idiomas tienen la misma capacidad de producir el mismo resultado, al estar completos de Turing), pero se les confundirá al pensar que está ejecutando PHP.
¿Por qué alguien querría ofuscar la elección de tecnología del lado del servidor? Debido a que los idiomas CGI tienen varias vulnerabilidades que son más fáciles de identificar si los usuarios finales saben cuál de esos idiomas está usando. Engañar a los usuarios sobre qué tecnologías del lado del servidor está utilizando es una medida de seguridad muy razonable.