views:

98

answers:

3

Hi,

I often come across some nice web sites and I want to know what technologies (PHP, JSP, ASP.NET, etc) are used to build those web sites.

The web address of some web sites end with ".aspx", ".php", ".jsp", etc. But some web address do not contains any indicators.

Is there any systematic way we can use to know the technologies used by a web site?

Thanks.

+2  A: 

Technically it should be impossible to find out what server-side technology a site uses. After all, all you get is HTML, right ? Often you might get lucky and see indications in error messages (for instance if the administrator hasn't disabled the signature, sometimes when you call a page that doesn't exist you get the version of the HTTP server and sometimes also the distribution. For example, if PHP is not set to shut up, it will also add it's bit to the signature).

Back to your question, in the general case, if the administrator pursues it enough I believe he can completely hide/fake the server-side technology the site is using.

nc3b
Asp.Net *does* have distinctive error messages, though. :)
Robusto
@Robusto: I have 0 experience with asp.net, but if IIS is worth it's money I believe this can be disabled or custom error pages can be delivered.
nc3b
+1  A: 

If you're using Firefox, install Firebug and look under the Net tab.

Under the Headers tab, the X-Powered-By field under Response Headers will give hints on the type of page being served.

Mr Roys
This can be overridden. See for example [this site](http://itca.com). The `Server` header is also interesting by the way.
BalusC
Yep, like I mentioned, it only provides hints :) And you're right, the Server header does provide additional interesting info, especially since not all servers return the X-Powered-By header e.g apache.org.
Mr Roys
+1  A: 

BuiltWith is a good starting point. Note it is not 100% accurate.

CodeToGlory