En resumen: es posible ocultar qué idioma está utilizando en el back-end. Ejemplo trivial: considere una página de "Hola Mundo"; sería extremadamente difícil averiguar qué marco / lenguaje se estaba utilizando en el back-end (suponiendo que las cosas básicas como las cookies de sesión se configuran manualmente o no se usan).
Sin embargo, el objetivo de los marcos es ahorrarle la necesidad de volver a implementar la funcionalidad y hacer que trabaje de manera estandarizada. Casi todos los marcos tienen sus pequeños cuentos específicos que los delatarán, si miras lo suficientemente cerca. Como otros han señalado, es posible tratar de ocultarlos mediante el uso de la configuración o la implementación de varias características estándar. Sin embargo, argumentaría que para sitios grandes, sería extremadamente difícil ocultar completamente todo, e incluso si lo lograras, estarías usando muy poco de tu marco.
En resumen, yo diría que casi siempre es posible tener una muy buena idea de lo que se está usando debajo (con un examen cuidadoso y un pinchazo). Es posible ocultar el marco utilizado, pero rápidamente se vuelve inviable para sitios grandes.
Las respuestas anteriores tienen algunos buenos ejemplos de varios relatos que tienen los marcos y los idiomas. Me gustaría agregar que varios motores de vista tienen un comportamiento específico relacionado con espacios en blanco que se puede utilizar para identificarlos. El motor Razor utilizado en MVC3 + tiene algunas peculiaridades bastante específicas que podrían usarse para identificarlo, o al menos, reducir la lista de sospechosos (de nuevo, puedes esquivarlo, pero ¿lo estás usando?).
.php
un CGI-Script escrito en C o un Servlet escrito en Java.