版權聲明:本文為半吊子子全棧工匠(wireless_com,同公衆号)原創文章,未經允許不得轉載。 https://blog.csdn.net/wireless_com/article/details/39250079
現在,也許很少有人知道Corba吧,那些了解orb的人是很容易了解web service乃至于現在的Web應用。
一個web應用一般可以分為5橫1縱,即5個水準層和1切面:
1)運作環境:作業系統,Web 容器,CGI等
2)應用架構:Thinkphp,rails,django等
3)應用本身:論壇,社交,部落格等
4)前端架構:AngularJS,jQuery,Bootstrap等
5)第三方的内容混搭:Google AD,mashup 等
一個切面就是各層對應的各種插件體系。
一個web 應用可以從Http頭,Html資料 和 特定的URL或檔案等諸多方面獲得相關的特征。
- Http 頭分為請求頭資訊和相應頭資訊,請求頭資訊一般包括Host,User-Agent,Accept,Accept-Language,Accept-Encoding,Accept-Charset,Keep-Alive,Connection,Referer,Cookie等;響應頭資訊一般包括Cache-Control,Date,Content-Type,Server,X-Powered-By.Set-Cookie,content-Encoding等。
- HTML資料包括:中繼資料,作者,Powered by,Html注釋 <!-- -->,網頁的架構,特殊頁面等。
- 特定的URL或檔案包括:特定的靜态檔案内容(css、js、html、txt),特定靜态檔案的 MD5 (2進制檔案等),特定目錄 (或多個目錄組合)等
根據特征分類,可以識别出不同的應用類型,發現很多有意思的事情。
有時間看看國外的項目吧:WhatWeb,Blind Elephant,WAFP(Web Application Finger Printing) ,Wapplyzer .......