• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Yahoo!網站性能最佳體驗的34條黃金守則

    發布: 2009-4-22 09:29 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 71次 | 進入軟件測試論壇討論

    領測軟件測試網

     2、減少DNS查找次數

      域名系統(DNS)提供了域名和IP的對應關系,就像電話本中人名和他們的電話號碼的關系一樣。當你在瀏覽器地址欄中輸入http://www.dudo.org/時,DNS解析服務器就會返回這個域名對應的IP地址。DNS解析的過程同樣也是需要時間的。一般情況下返回給定域名對應的IP地址會花費20到120毫秒的時間。而且在這個過程中瀏覽器什么都不會做直到DNS查找完畢。

      緩存DNS查找可以改善頁面性能。這種緩存需要一個特定的緩存服務器,這種服務器一般屬于用戶的ISP提供商或者本地局域網控制,但是它同樣會在用戶使用的計算機上產生緩存。DNS信息會保留在操作系統的DNS緩存中(微軟Windows系統中DNS Client Service)。大多數瀏覽器有獨立于操作系統以外的自己的緩存。由于瀏覽器有自己的緩存記錄,因此在一次請求中它不會受到操作系統的影響。

      Internet Explorer默認情況下對DNS查找記錄的緩存時間為30分鐘,它在注冊表中的鍵值為DnsCacheTimeout。Firefox對DNS的查找記錄緩存時間為1分鐘,它在配置文件中的選項為network.dnsCacheExpiration(Fasterfox把這個選項改為了1小時)。

      當客戶端中的DNS緩存都為空時(瀏覽器和操作系統都為空),DNS查找的次數和頁面中主機名的數量相同。這其中包括頁面中URL、圖片、腳本文件、樣式表、Flash對象等包含的主機名。減少主機名的數量可以減少DNS查找次數。

      減少主機名的數量還可以減少頁面中并行下載的數量。減少DNS查找次數可以節省響應時間,但是減少并行下載卻會增加響應時間。我的指導原則是把這些頁面中的內容分割成至少兩部分但不超過四部分。這種結果就是在減少DNS查找次數和保持較高程度并行下載兩者之間的權衡了。

      3、避免跳轉

      跳轉是使用301和302代碼實現的。下面是一個響應代碼為301的HTTP頭:

      HTTP/1.1 301 Moved Permanently

      Location: http://example.com/newuri

      Content-Type: text/html

      瀏覽器會把用戶指向到Location中指定的URL。頭文件中的所有信息在一次跳轉中都是必需的,內容部分可以為空。不管他們的名稱,301和302響應都不會被緩存除非增加一個額外的頭選項,如Expires或者Cache-Control來指定它緩存。<meat />元素的刷新標簽和Javascrīpt也可以實現URL的跳轉,但是如果你必須要跳轉的時候,最好的方法就是使用標準的3XXHTTP狀態代碼,這主要是為了確!昂笸恕卑粹o可以正確地使用。

      但是要記住跳轉會降低用戶體驗。在用戶和HTML文檔中間增加一個跳轉,會拖延頁面中所有元素的顯示,因為在HTML文件被加載前任何文件(圖像、Flash等)都不會被下載。

      有一種經常被網頁開發者忽略卻往往十分浪費響應時間的跳轉現象。這種現象發生在當URL本該有斜杠(/)卻被忽略掉時。例如,當我們要訪問http://astrology.yahoo.com/astrology 時,實際上返回的是一個包含301代碼的跳轉,它指向的是http://astrology.yahoo.com/astrology/ (注意末尾的斜杠)。在Apache服務器中可以使用Alias 或者 mod_rewrite或者the DirectorySlash來避免。

      連接新網站和舊網站是跳轉功能經常被用到的另一種情況。這種情況下往往要連接網站的不同內容然后根據用戶的不同類型(如瀏覽器類型、用戶賬號所屬類型)來進行跳轉。使用跳轉來實現兩個網站的切換十分簡單,需要的代碼量也不多。盡管使用這種方法對于開發者來說可以降低復雜程度,但是它同樣降低用戶體驗。一個可替代方法就是如果兩者在同一臺服務器上時使用Alias和mod_rewrite和實現。如果是因為域名的不同而采用跳轉,那么可以通過使用Alias或者mod_rewirte建立CNAME(保存一個域名和另外一個域名之間關系的DNS記錄)來替代。

      4、可緩存的AJAX

      Ajax經常被提及的一個好處就是由于其從后臺服務器傳輸信息的異步性而為用戶帶來的反饋的即時性。但是,使用Ajax并不能保證用戶不會在等待異步的Javascrīpt和XML響應上花費時間。在很多應用中,用戶是否需要等待響應取決于Ajax如何來使用。例如,在一個基于Web的Email客戶端中,用戶必須等待Ajax返回符合他們條件的郵件查詢結果。記住一點,“異步”并不異味著“即時”,這很重要。

      為了提高性能,優化Ajax響應是很重要的。提高Ajxa性能的措施中最重要的方法就是使響應具有可緩存性,具體的討論可以查看Add an Expires or a Cache-Control Header。其它的幾條規則也同樣適用于Ajax:

      Gizp壓縮文件

      減少DNS查找次數

      精簡Javascrīpt

      避免跳轉

      配置ETags

      

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    32/3<123>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>