<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    靈魂-放水

    為學日益,為道日損。

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks

    出處:http://www.net2china.net/blog/user1/sunychen/archives/2006/226.html

    靜態化是有很大好處的。最值得稱道的應該是加快下載速度,更利于搜索引擎的抓取,這兩點對一個企業網站來說應該比較重要吧。
    ?
    一般的靜態化是通過fso組件讀取網站模板的內容,然后替換其中的特定字符,生成靜態頁面,這是個不錯的想法,如果你要自己寫一個網站,建議你用這種辦法,因為比較穩定。而且如果想以后更換網站界面也相當容易,只需修改模板而無需更改程序。這個辦法很多高手已經說得很明白了,推薦一個:
    http://www.jingzhengli.cn/Blog/zjh/265.html
    ?
    然而很不幸,很多公司的網站已經做好,而且每一頁都是html中夾雜大量asp代碼的形式,沒有模板,功能也沒有模塊化,如果想仍用以上方法進行靜態化處理,其復雜程度相當于重做一個網站。
    ?
    提出一個簡單宜用的解決辦法。不用模板、不用修改程序,非常便捷。利用XMLHTTP對象及其方法。他的原理是將已有的asp網頁內容一次性讀取出來,然后寫到靜態頁中,實現網站的靜態化重構。
    ?
    現在以生成 www.rocky-glass.com的首頁為例,介紹一下這種方法,代碼如下:
    ?
    Url="http://www.rocky-glass.com/default.asp" ‘定義動態首頁
    wstr = GetPage(Url) ‘把動態首頁的內容全部讀取出來
    ?
    Set fs=Server.CreateObject("Scripting.FileSystemObject")
    ?
    Set CrFi=fs.CreateTextFile(server.MapPath("../")&"\index.htm") ‘創建靜態首頁index.htm
    CrFi.Writeline(wstr) ‘將讀取出的內容寫入靜態頁面
    set CrFi=nothing ‘關閉兩個對象
    set fs=nothing
    ?
    以下兩個函數涉及到xmlhttp對象和方法的使用,如果能看懂就看,看不懂直接調用就行。
    Function GetPage(url) ‘此過程的功能是實現把 asp 網頁的內容一次性讀取出來。
    dim Retrieval
    Set Retrieval = CreateObject("Microsoft.XMLHTTP")
    With Retrieval
    .Open "Get", url, False ', "", ""
    .Send
    GetPage = BytesToBstr(.ResponseBody)
    End With
    Set Retrieval = Nothing
    End Function
    ?
    Function BytesToBstr(body) ‘字符轉換
    dim objstream
    set objstream = Server.CreateObject("adodb.stream")
    objstream.Type = 1
    objstream.Mode =3
    objstream.Open
    objstream.Write body
    objstream.Position = 0
    objstream.Type = 2
    objstream.Charset = "utf-8" ‘如果是中文頁面請用gb2312.,英文頁面用utf-8
    BytesToBstr = objstream.ReadText
    objstream.Close
    set objstream = nothing
    End Function
    ?
    首頁的靜態化就完成了,生成為 index.htm 這個靜態頁,其他的頁面也可以按照這個思路進行,利用不同的后綴id值,就可以批量生成所有網頁。
    ?
    兩點注意:1、如果是批量生成頁面要保證網速,否則程序的運行很容易超出服務器的允許時間。
    ????????? 2、生成英文頁面的時候,要保證原頁面上沒有漢字或其他語言,否則生成出錯。
    ?
    這種靜態化相對比較容易,尤其是那些對那些寫的很差勁的網站進行靜態化處理。我一直用這種方法給企業靜態化處理。
    有機會我會把這種方法進一步寫成類,方便各位網友調用。
    ?
    下邊說說兩種騙人的靜態化方案,引起各位注意。
    1、?框架偽靜態,這種是非常簡單而且也是非常便于識別的,它的原理比較簡單,就是做一個靜態的主框架頁面,然后把動態的內容鏈入副框架內,這個單從它的URL就可以看出眉目,如果整個網站的URL都是一樣的,那么就一定是框架偽靜態的。這種所謂的靜態化不僅達不到優化的目的,而且還不如不優化。
    2、?利用組件把asp的輟顯示為htm,它主要是利用一個組件強制性的把asp文件的后輟顯示為htm,比較有名的組件是MOD REWRITE,這種東西只是在形式上讓你感覺已經靜態化了,其實仍然是執行動態網頁。識別這個也比較容易,那就是看看有沒有生成靜態頁就是了。如果沒有生成靜態頁,顯然是騙人的,因為只有動態頁才是虛擬的,從數據庫中調用數據進行顯示,而靜態頁面一定是獨立的。當然,利用這種方案可以起到seo優化作用,但是對訪問速度來說,是一點提高都沒有的,而且還有可能降低訪問速度。
    ?

    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1444169

    posted on 2006-12-18 20:41 放水老倌 閱讀(980) 評論(0)  編輯  收藏 所屬分類: J2EE.NET
    主站蜘蛛池模板: 亚洲精品欧美综合四区| 影音先锋在线免费观看| 黄色大片免费网站| 激情综合亚洲色婷婷五月 | 亚洲精品电影天堂网| 综合亚洲伊人午夜网| 四虎永久在线精品视频免费观看| 1000部无遮挡拍拍拍免费视频观看| 国产精品免费久久久久电影网| 国产AV旡码专区亚洲AV苍井空 | 日本在线看片免费| 一边摸一边爽一边叫床免费视频| 亚洲欧美第一成人网站7777| 亚洲毛片无码专区亚洲乱| 亚洲AV无码乱码国产麻豆| 亚洲伊人久久精品影院| 亚洲不卡AV影片在线播放| 国产成人免费A在线视频| 性色av免费观看| 成年女人午夜毛片免费视频| 性做久久久久久久免费看| 国产成人精品免费视频大全麻豆| 免费A级毛片无码A∨中文字幕下载 | 国产精品无码免费专区午夜| 美女免费视频一区二区| 蜜芽亚洲av无码一区二区三区| 亚洲国产精品无码中文lv| 亚洲日韩精品国产3区| 亚洲AV无码无限在线观看不卡| 最新国产成人亚洲精品影院| 亚洲性无码av在线| 亚洲va成无码人在线观看| 亚洲一级免费视频| 精品久久久久久亚洲精品| 亚洲熟妇av午夜无码不卡| 亚洲日本va一区二区三区| 亚洲AV无码专区在线电影成人 | 亚洲第一成年免费网站| 成年午夜视频免费观看视频| 毛片免费视频在线观看| 麻豆国产VA免费精品高清在线|