9/03/2005

網站動態內容的?什?要用靜態網頁提供

最早的時侯,網站內容是通過在主機空間中放置大量的靜態網頁實現的。?了方便對這些分散在不同目錄的靜態網頁的管理,(一般是通過FTP),象 frontpage/dreamweaver這樣軟件甚至直接提供了向主頁空間以FTP方式直接訪問文件的功能。以靜態網頁?主的網站最大的困難在于對網 頁的管理,在這種框架?,網頁框架和網頁中的內容混雜在一起,很大程度地加大了內容管理的難度。?了減輕這種管理的成本,發展出了一系列的技術,在筆者的 理解中,甚至連css本身,原本也是針對這種亂七八糟的網頁維護而設計的,目的就是把網頁表達的框架和內容本身抽象分離出來。
使用動態網頁的技術是從幾年前興起,目前已經進入衰老期的網站技術,也是BS系統的核心技術。這種技術稱?動態網頁,就是因?一般是在共用的網頁框架下面 通過程序接口抽取放在數據庫或其他存儲媒體中的內容,從而真正實現了把網頁框架和內容提取分離的目的。也就是傳統中的php,asp,jsp, servlet等。這種技術的發展一直以邏輯反複抽象,直到把幾乎所有的系統業務邏輯合並到各個組件、控件中,網頁代碼僅僅完成最後對象屬性讀取的任務。 在JSP中,標簽結合EL語言就是這種發展方向的極致了。這種技術實際上就是不同的(不限數量的)內容共用網頁框架,從而將網頁維護成本下降到接近可以忽 略的程度。在這種技術面前,象frontpage/dreamwever這種軟件,實際上已經多少顯得過時了。
但?什?現在又要把動態網頁以靜態網頁的形式發布呢?一個很重要的原因,就是因?搜索引擎。以目前互聯網上最普通的查找資料的方式看,互聯網內容到達受? 面前大致只有三條路:第一條路是通過?所周知的門戶網站,老讀者有意識地到達這些地方搜索相應的有針對性的資料;第二條路是做廣告,通過受?使用一些免費 服務的機會夾帶資料信息,把受?帶到目標網站;第三條路是搜索引擎,通過關鍵字和其他因素,把相應的信息推介到受?的面前。實際上,即使是對門戶網站,這 也是帶來新受?的最有效的途徑;而對于絕大多數的站點,除了屈指可數的幾個門戶外,這種搜索引擎帶來的讀者受?,占了至少90%以上的比例。
如此重要的一條受?途徑自然是不能忽略的,因此,盡管搜索機器人有點討厭,各個網站不但不會再象從前一樣把它封起來,反而熱情無比地搞SEO,所謂的面向 搜索引擎的優化,其中就包括訪問地址的改寫,令動態網頁看上去是靜態網頁,以便更多更大量地被搜索引擎收錄,從而最大限度地提高自已的內容被目標受?接收 的機會。但是,在完全以動態技術開發的網站,轉眼中要求變換成靜態網頁提供,同時,無論如何,動態網頁的內容管理功能也是必須保留的;就如同一輛飛駛的奔 馳忽然要求180度轉彎,要付出的成本代價是非常大的,是否真的值得,也確定讓人懷疑。
?什?搜索引擎會更忠情于靜態網頁呢?難度它不能分析動態網頁嗎?聲稱動態網頁可能會由于所在內容的更改而令搜索結果不完全可信的理由是站不住腳的;因 ?,就算是靜態網頁也會被刪除和移動,難度訪問靜態連接出現404錯誤很罕見嗎?事實上,動態網頁缺失的機率並不比靜態網頁更高,而且,可以通過設定 response,同樣在內容缺失時輸出404錯誤也不是一件難事。而搜索引擎解釋動態網頁的連接字符串更不是一件難事。不但難不倒一家大公司,連一個熟 練點的程序員也難不倒!
這個原因今天筆者已經很明白,與其說是搜索引擎的能力限制,不妨說是搜索引擎對網站的一種善意,因?,動態網頁的響應速度以及對服務器的消耗資源遠遠超過 靜態網頁,按系統配置的優劣,10倍到100倍不等。就以博客而論,一台apache響應對靜態網頁的一秒鍾100次連接的請求來個10000次,每頁大 小在100k 左右(很小的頁了),流量不過是10M左右,最起碼服務器本身不會是瓶頸;即使是IIS,一邊也是能應付的;但如果是動態內容,訪問數據庫獲取的,幾乎所 有博客都基本上是要當機的,有機會自動活轉過來,就已經是非常了不起的。而事實上,筆者在幾台服務器上監測到的來自搜索引擎的訪問請求,一天總有一兩次會 達到甚至超過這個峰值;起碼每秒種幾十次是非常普通的了。
  原因就在于搜索機器人是機器人,有點良心的象google、 yahoo,一般是兩三天訪問一次,每次訪問的內容部分也會各不相同;每秒鍾發出的請求大致是兩三個;同時,它們的IP會在whois中署名來曆,也會依 照您的robots.txt的指示運作。但一些新的小的搜索引擎就完全不是這?回事,它會把相同的內容一天訪問兩三次,然後基本上是匿名的,完全對 robots.txt的指示置之不理;最後,每秒鍾會發出少則十個,多則幾十個請求。總之,這些新的小搜索引擎或者只能稱之?勤力的用蠻力的機器人,而不 能稱?搜索引擎。更麻煩的是,這樣的引擎光中國就有數十個之多,以致于每天光是這些搜索引擎的來來去去,多的時侯,達到數十萬次訪問之巨。更可惡的是,它 們常常不是選在晚上進行訪問,而是在業務高峰期也照爬可也。成熟的如google這樣的引擎碰到html或者會加上搜索強度,而不成熟的網站是無論什?網 頁一類常速請求,等等。
今天我們都會發現不少博客響應速度很慢的,實際上,既不一定表明這些博客有多大的用戶訪問量,也不表明流量真的很大或者,博客的設備很弱;而是,在這樣的 搜索引擎光顧下,某種程度上等同于不定時的 dos拒絕服務攻擊。但網站能夠把它們當成拒絕服務攻擊而加以訪問禁止嗎?估計大多數網站起碼業務主管就不會 同意的,畢競也是要靠搜索引擎吃飯的。
除這搜索引擎外,還有另一種更下流的訪問。筆者不止一次地發現一連串的網域IP記錄,一查,是“某某部互聯網公共信息安全審查……”,後面省去了,免得惹 麻煩。老實說,也就是某某部拿機器人滿世界地找,查幾個事關政治控制的關鍵詞而已。這種機器人,更加不客氣,你當不當機他是不管的,十幾台機每秒幾十上百 的請求實在尋常事。
因此,說起來很可笑的是,各大網站不停地升級硬件帶寬,最後很可能發現造成當機的不是由于訪問量真的那?可喜地增加,而是這些搜索引擎光顧你頻繁了。由于這些搜索引擎尖峰時刻
的訪問量帶來的性能極限,常常等同于30分鍾成千上萬的concurren,這樣一來,升級的投資幾乎僅僅是?了滿足搜索引擎添加幾個參數而已。網站升級 花的是真金白銀,這些機器人加強搜索強度可是幾下點擊就夠了,可見網站是多??尬了。不過呢,要說網站一清二楚也是未必的,一來不是所有技術人員都發現這 個問題,二來就算發現了,也不見得都會告訴老板,原來增加的不是真實的訪問量!
面對這種困境,唯一可行的辦法也就是只能把動態內容改而使用靜態網頁提供了。恐怕,這是最主要的原因,起碼,這個改造成本,比起沒完了的升級硬級和帶寬,還是要便宜點的。

0 Comments:

发表评论

<< Home