Czasami możesz wiedzieć, a czasami nie.
Jeśli kod HTML jest generowany po stronie klienta, możesz łatwo określić język, patrząc na źródło w przeglądarce internetowej. Te języki to: ruby on rails, javascript, java itp. Po stronie klienta źródło jest otwarte dla użytkownika i musi być uczciwy co do tego, jaka to technologia.
Jeśli generowany jest kod HTML po stronie serwera możesz nie wiedzieć, który język programowania go wygenerował. Te języki obejmują: PHP, C ++ i wiele innych języków. Po stronie serwera, na tyle sposobów, na ile możesz zgadnąć, który to język, jest tyle samo sposobów, aby technologia mogła się ukryć.
Załóżmy, że jesteś administratorem sieci, który chce ukryć technologię po stronie serwera. Wybierz jedną z technik wymienionych w innym pytaniu, aby spróbować zidentyfikować język. Na przykład rozszerzenie * .php dla pliku. Teraz skonfiguruj swój serwer WWW tak, aby wykonywał kod C z pliku z rozszerzeniem * .php. Twoi użytkownicy nie będą mieli możliwości przeglądania źródła (ponieważ oba języki są równie zdolne do generowania tego samego wyniku, według kompletności Turinga), ale zostaną wprowadzeni w błąd, myśląc, że używasz PHP.
Dlaczego ktoś miałby chcesz zaciemnić wybór technologii po stronie serwera? Ponieważ języki CGI mają różne luki w zabezpieczeniach, które są łatwiejsze do wykrycia, jeśli użytkownicy końcowi wiedzą, którego z tych języków używasz. Wprowadzanie użytkowników w błąd co do używanych technologii po stronie serwera jest bardzo rozsądnym środkiem bezpieczeństwa.