How can I find out which technologies were used to generate a website? Is it possible?
E.g. PHP, JSP, JSF, ASP.NET, Ruby, Python etc.
Unless the URL reveals it (e.g. http://something/blah.php), you can't. Even the URL is not reliable, as you theoretically could configure a web server to use the
As all of those are server side languages, the only thing you can see as the client is HTML. HTML by itself does not reveal a lot.
You might be able to find out more by inspecting the HTML markup and looking for some keywords. For example, some web frameworks or templating engines leave traces and special patterns or keywords that might give you a hint. It's very specific though and I don't know of any tool that would to this kind of task (except for Google, that is).
But these are highly unreliable, because the information a server reveals can be easily manipulated or hidden by the site owner (which might lead to the remark "unknown" as the server type in this particular chart).
http://lexin2.nada.kth.se/test ("test" does not exist) reveals that they are using Tomcat with Apache. In a similar way, you will see messages from Microsoft IIS on Windows, PHP on Linux, etc.
Most sites replace though the standard 404 message with a more informative one, like this site's: http://superuser.com/test So there's not much to gather there.