查看一个网站是用什么语言编写的
看后缀
这是个问题 一般的情况看页面的后缀名
Server Side Includes 技术,拓展名为.shtml或.html或.htm
PHP技术,拓展名为.php
JSP技术,拓展名为.jsp或.jsf(JSF技术是JSP技术的拓展)
ASP.NET技术,拓展名为.aspx (x 代表extension)
ASP技术,拓展名为.asp
ColdFusion技术,拓展名为.cfc
好点的网站,一般用资源转向功能(就向JSP中web.xml定义的名字,把HOME转向到home.jsp,就隐藏了拓展名)。或者用Apache有一个URLRewriting的Module,PHP网站的拓展名改变,就常用这个
URL Rewriting,可以把.php拓展名改成任意名字。
方法1
- 查看该网站的开发开放平台。 比如:GOOGLE有个Google Code,里面提供GOOGLE各种Search Engine API,还有Google AJAX。那么GOOGLE提供的API全是JAVA的(全无PHP,ASP等),由此可以判断GOOGLE必定就是JSP。
- 再比如:去维基百科,当你点到某些提交信息的按钮时候,IE的状态栏(下方)会马上呈现...php的拓展名。正常在地址栏上看不到.php的原因是,Wikipedia会把你提交信息后,转到另一个.html页面,而不会直接显示那个.php页面。
方法2
- 学习JSP,PHP等相关技术,就能了解用这些技术开发的网站的特点,根据结构就可以判断
- 比如:校内网,他们在招聘开发者只要求回JSP,Struts(JSP MVC的结构之一)。而且校内大部分开放平台开发的游戏都是JSP写的,由此断定,校内就是用JSP的(其实校内拓展名.do是典型的JSP Struts)。
- 比如:百度,从它贴吧,知道上提交模式,以及百度大部分拓展名都被隐藏(PHP网站经常用
apache里的功能来隐藏拓展名)来看,百度就是用PHP的。
方法3
- 在该网站的招聘要求中,看看应聘网站后台程序员,需要会什么语言。 校内网的招聘网页,就是个好例子。
方法4
- 个别情况 用IE打开http://www.51auto.com/control/CarsList 在地址栏里输入 javascript:alert(document.cookie); 然后回车,可以看到JSESSIONID=**** 可以知道,这是JSP写的 //PHP的是SESSIONID=...,.net就不知道是什么了
方法5(简单方便)
- 域名后面加上/index.php
或者/index.asp/
或者index.jsp
或者/index.aspx
哪个能打开就说明是那种语言.
- 比如百度的http://www.baidu.com/index.php就能打开,百度就是php做的对校内(jsp),淘宝(php)都可以使用
方法6
- 不过这些也只能是参考,网站采用什么语言,不一定能看出来,请求的资源扩展名可以修改的:
比如.php的可以伪装成.html
使用rewrite和反向代理后,实际的资源文件名也可能被隐藏
对于python、ruby这些语言开发网站,并没有约定的扩展名
- 可以用firebug或者chrome的工具来查看网页的Response Headers:
Response Headers
HTTP/1.1 200 OK
Date: Thu, 29 Nov 2012 01:08:16 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.2.17
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
方法7(通过第三方网站查看)
- w3techs: Web technologies used by a site
- builtwith: BuiltWith Technology Lookup
- netcraft: 查看网站服务器信息等