Parfois, vous pouvez savoir, parfois vous ne pouvez pas.
Si le HTML est généré côté client, vous pouvez facilement dire quelle langue en regardant la source dans votre navigateur Web. Ces langages incluent: ruby on rails, javascript, java, etc. Du côté client, la source est ouverte à l'utilisateur, et il doit être honnête quant à la technologie dont il s'agit.
Si le HTML est généré côté serveur, vous ne savez peut-être pas quel langage de programmation l'a généré. Ces langages incluent: PHP, C ++ et de nombreux autres langages. Côté serveur, pour autant de façons que vous pouvez imaginer de deviner de quelle langue il s'agit, il y a autant de façons pour que la technologie se cache.
Supposons que vous soyez un administrateur Web qui veut cacher la technologie côté serveur. Choisissez l'une des techniques énumérées dans une autre question pour tenter d'identifier la langue. Par exemple, l'extension * .php d'un fichier. Maintenant, configurez votre serveur Web pour exécuter du code C à partir d'un fichier avec une extension * .php. Vos utilisateurs n'auront aucun moyen d'afficher la source (puisque les deux langues sont également capables de produire le même résultat, par l'exhaustivité de Turing), mais ils seront induits en erreur en pensant que vous utilisez PHP.
Pourquoi quelqu'un vous voulez masquer le choix de la technologie côté serveur? Parce que les langages CGI ont diverses vulnérabilités qui sont plus faciles à cibler si les utilisateurs finaux savent lesquels de ces langages vous utilisez. Induire les utilisateurs en erreur sur les technologies côté serveur que vous utilisez est une mesure de sécurité très raisonnable.