判斷某個網站是使用何種ASP\PHP\JSP語言的方法

【轉】判斷某個網站是使用何種ASP\PHP\JSP語言的方法
2012-02-14 18:37
轉載自 g882
最終編輯 g882

1.一般情況下,判斷一個網站是用什麼做的,需要觀察各個網頁的擴展名。 (如:"1.html?id=2"中.html是其擴展名;?後面的是QueryString,即id=2)
普通的靜態網頁,一般用.html或.htm做拓展名,或根本沒有拓展名
動態網頁:
Server Side Includes 技術,拓展名爲.shtml或.html或.htm
PHP技術,拓展名爲.php
JSP技術,拓展名爲.jsp或.jsf(JSF技術是JSP技術的拓展)
ASP.NET技術,拓展名爲.aspx (x 代表extension)
ASP技術,拓展名爲.asp
ColdFusion技術,拓展名爲.cfc


2.但是細心的朋友會發現:大網站如:百度、校內、雅虎、GOOGLE、維基百科等,它們的網頁沒有擴展名,或者只出現.html的靜態網頁的拓展名

這是因爲:
第一,搜索引擎比較喜歡.html,.htm或無擴展名的網頁,因爲.html, .htm網頁一般是靜態的,更容易讓引擎瞭解你網頁的內容。而動態網頁(.jsp,.php.aspx)的內容是根據用戶,來輸出不同的內容,不容易讓引擎吸收具體HTML內容。 第二,隱藏或改變拓展名,這樣方便訪問者使用,訪問者不是程序員,他們不明白什麼是.jsp,.php.aspx。第三,防止某些***惡意***(他們不知道該網站用什麼技術,就無從下手)。第四,好的URL中的拓展名不應隨服務器的改變而變,也就是說好的URL能“以不變應完變”。

所以這類網站,一般用資源轉向功能(就向JSP中web.xml定義的名字,把HOME轉向到home.jsp,就隱藏了拓展名)。或者用Apache有一個URL Rewriting的Module,PHP網站的拓展名改變,就常用這個URL Rewriting,可以把.php拓展名改成任意名字。

因爲大網站可能同時有很多靜態網頁,也有很多用不同技術的動態網頁(可能在不同的服務器:如網易有網易遊戲,網易新聞,網易EMAIL)。無論動態靜態類網站,都只允許用戶看到其輸出的HTML(無論是PHP,還是JSP什麼的都是導出HTML給用戶,用戶只能看JavaScript、CSS,但用戶完全看不到PHP,Java, C#, ActionScript等代碼)。所以,判斷此類網站用的什麼技術,需要從幾方面分析:

方法(1):
查看該網站的開發開放平臺。
a.比如:GOOGLE有個Google Code,裏面提供GOOGLE各種Search Engine API,還有Google AJAX。那麼GOOGLE提供的API全是JAVA的(全無PHP,ASP等),由此可以判斷GOOGLE必定就是JSP。

c.再比如:去維基百科,當你點到某些提交信息的按鈕時候,IE的狀態欄(下方)會馬上呈現...php的拓展名。正常在地址欄上看不到.php的原因是,Wikipedia會把你提交信息後,轉到另一個.html頁面,而不會直接顯示那個.php頁面。

方法(2):
學習JSP,PHP等相關技術,就能瞭解用這些技術開發的網站的特點,根據結構就可以判斷。
a.比如:校內網,他們在招聘開發者只要求回JSP,Struts(JSP MVC的結構之一)。而且校內大部分開放平臺開發的遊戲都是JSP寫的,由此斷定,校內就是用JSP的(其實校內拓展名.do是典型的JSP Struts)。
b.比如:百度,從它貼吧,知道上提交模式,以及百度大部分拓展名都被隱藏(PHP網站經常用apache裏的功能來隱藏拓展名)來看,百度就是用PHP的。

方法(3):
在該網站的招聘要求中,看看應聘網站後臺程序員,需要會什麼語言。
校內網的招聘網頁,就是個好例子。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章