快乐扑克三开奖查询|山东体彩快乐扑克开奖走势图

Hi,Are you ready?

準備好開始了嗎?
那就與我們取得聯系吧

有一個互聯網項目想和我們談談嗎?您可以填寫右邊的表格,讓我們了解您的項目需求,這是一個良好的開始,我們將會盡快與你取得聯系。讓慧眼獨具的您!享受我們專業的互聯網產品和服務!

BOXSIN NETWORK 博信網絡設計整合

業務熱線:0771-2860265 / 5783282(固話)
400-8842-880(全國熱線)

不打烊專線:13481069551 (盧經理)

E-mail:[email protected]

合作意向表

您需要的服務

現有網站改版
我需要做微信營銷
建設全新的企業網站
要找長期合作公司,需要年度服務
我需要做購物商城
我需要做系統平臺
我需要做小程序

您最關注的地方

對功能要求比較高
對設計創意要求比較高
需要可以購物支付
搜索引擎排名

預算

2萬內 2-5萬 5-10萬 10萬以上 大型項目需要招標
  • 看不清楚,換個圖片

業務QQ 0771/2860265 提交需求 博信網絡微信公眾號

博信網絡微信公眾號

加微信報價格

加微信報價格

輸入您的電話,了解詳情

  • 留言
  • 我們只做三件事:設計,建站,開發

    2012
    03.07

    點擊

    利用壓縮網頁來提升網站瀏覽速度

    來源: 本站   責任編輯:博信網絡   字體大小:    

    網站的訪問速度是由多個因素所共同決定的,這些因素例如應用程序的響應速度、網絡帶寬、服務器性能、與客戶端之間的網絡傳輸速度等等。其中最重要的一個因素是應用程序本身的響應速度,因此當你為網站性能所苦惱時,你第一個需要著手進行處理的便是盡可能的提升應用程序的執行速度,你可以使用緩存或者是優化代碼的執行效率來提升應用程序的速度。

    但是,本文并不是介紹如何來提升應用程序的執行效率,前面提到的只不過是為了防止您病急亂投醫。在確保您的應用程序的性能已經達到足夠好,同時服務器的性能也完全滿足的情況下,不妨來試試網頁壓縮來進一步提升網頁的瀏覽速度,而且非常重要的是,它完全不需要任何的成本,只不過是會讓您的服務器CPU占用率稍微提升一兩個百分點而已或者更少。

    網頁壓縮是一項由 WEB 服務器和瀏覽器之間共同遵守的協議,也就是說 WEB 服務器和瀏覽器都必須支持該技術,所幸的是現在流行的瀏覽器都是支持的,包括 IE、FireFox、Opera 等;服務器有 Apache 和 IIS 等。雙方的協商過程如下:

    1. 首先瀏覽器請求某個 URL 地址,并在請求的頭 (head) 中設置屬性 accept-encoding 值為 gzip, deflate,表明瀏覽器支持 gzip 和 deflate 這兩種壓縮方式(事實上 deflate 也是使用 gzip 壓縮協議,下面我們會介紹二者之間的區別);

    2. WEB 服務器接收到請求后判斷瀏覽器是否支持壓縮,如果支持就傳送壓縮后的響應內容,否則傳送不經過壓縮的內容;

    3. 瀏覽器獲取響應內容后,判斷內容是否被壓縮,如果是則解壓縮,然后顯示響應頁面的內容。

    在實際的應用中我們發現壓縮的比率往往在 3 到 10 倍,也就是本來 50k 大小的頁面,采用壓縮后實際傳輸的內容大小只有 5 至 15k 大小,這可以大大節省服務器的網絡帶寬,同時如果應用程序的響應足夠快時,網站的速度瓶頸就轉到了網絡的傳輸速度上,因此內容壓縮后就可以大大的提升頁面的瀏覽速度。

    接下來我們介紹幾種常用的環境下如何啟用網頁壓縮功能。

    純 Tomcat 服務器

    如果您的 WEB 應用程序是跑在 Tomcat 服務器下的,而且直接使用 Tomcat 所提供的 HTTP 服務,那建議你馬上動手,因為實在是太簡單了,你只需要在 server.xml 配置文件中給 HTTP Connector 增加一個 compression 的參數值為 on 并重啟 Tomcat 服務器就立刻生效,配置如下:

        


    Tomcat 采用的是 HTTP/1.1 的 GZIP 壓縮協議,它會根據瀏覽器送過來的請求中的 accept-encoding 值是否包含 gzip 來判斷瀏覽器是否支持 gzip 壓縮協議,如果瀏覽器支持就啟用 gzip 壓縮,否則就不進行任何壓縮處理。Tomcat 中還有另外一個參數 compressableMimeType,這個參數可以用來指定壓縮哪種類型的內容,例如可以指定該配置值為:text/html,text/plain ,則只壓縮 contentType 為 text/html 和 text/plain 的頁面,不過您最好也將 css 和 javascript 文件也算在壓縮的文件類型中,因為這兩者的壓縮效果也十分的明顯。


    Apache 服務器

    在 apache 1.3 版本,大家常用 mod_gzip 對輸出內容進行壓縮,現在主流的瀏覽器都支持 gzip 解壓縮。在 apache2 下,這個模塊換名為 mod_deflate,對應的模塊文件名是 mod_deflate.so。mod_gzip 本文不做介紹,下面描述一下在 Apache 2 下如何啟用并配置 mod_deflate 模塊。默認安裝的 Apache 不管是 Windows 還是 Linux/Unix,都是不啟用該模塊的, Linux/Unix 下甚至不帶該模塊,你需要手工編譯這個模塊。

    下面我們分別介紹在 Windows 和 Linux 操作系統下如何啟用并配置 mod_deflate 模塊。

    在 Windows 下采用安裝程序安裝的 Apache 服務器已經帶有 deflate 所需要的模塊 mod_deflate.somod_headers.so,我們只需要在 httpd.conf 配置文件中啟用并進行相關的配置即可,配置如下:

    LoadModule deflate_module modules/mod_deflate.so
    LoadModule headers_module modules/mod_headers.so# Insert filter
    SetOutputFilter DEFLATE
    # Netscape 4.x has some problems...
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    # Netscape 4.06-4.08 have some more problems
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    # MSIE masquerades as Netscape, but it is fine
    # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
    # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
    # the above regex won't work. You can use the following
    # workaround to get the desired effect:
    BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
    # Don't compress images
    SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
    # Make sure proxies don't deliver the wrong content
    Header append Vary User-Agent env=!dont-vary


    而如果是 Linux/Unix 操作系統,如果你沒有在編譯安裝的過程中將所需要的兩個模塊 mod_deflatemod_headers 編譯進去的話,那就稍微有點麻煩,首先我們先看如何在編譯安裝 Apache 過程中也同時編譯這兩個模塊,請在執行 configure 程序時增加兩個參數分別是:

    # ./configure --enable-deflate --enable-headers


    這樣在編譯完 Apache 后就可以直接在 httpd.conf 中啟用并配置 deflate 模塊了,配置的方法跟 Windows 平臺下是相同的。

    如果說您的 Apache 已經在運行了,不想再重新編譯一次,那也可以選擇只編譯 deflate 模塊所需的文件 mod_deflate.cmod_headers.c。這兩個文件位于 {apache-src}/modules/filters/ 目錄下(其中 {apache-src} 為 apache 源文件所在的目錄)。使用如下命令來單獨編譯這兩個源文件。

    # {apache-bin}/apxs -i -a -c {apache-src}/modules/filters/mod_deflate.c
    # {apache-bin}/apxs –i –a –c {apache-src}/modules/filters/mod_headers.c


    其中 {apache-bin} 為 Apache 安裝目錄下的 bin 目錄,接下來在 httpd.conf 直接配置該模塊即可。

    很多時候你在單獨編譯 deflate 模塊的時候可能會碰到編譯錯誤,提示是:

    Cannot load /opt/apache/modules/mod_deflate.so into server: /opt/apache/modules/mod_deflate.so: undefined symbol: deflate

    解決的方法如下:

    編輯 /usr/local/apache2/bin/apr-config 文件修改其中的 LDFLAGS 值為 "-lz",然后再重新編譯 mod_deflate 模塊,apxs -ica mod_deflate.c 即可。

    為了省卻不必要的麻煩,請盡量在編譯安裝時直接加上 --enable-deflate --enable-headers 參數。


    IIS 服務器

    微軟的 IIS 服務器同樣也是目前用得最多的 WEB 服務器之一,而且用來運行 ASP 頁面也是必不可少的。IIS6 本身支持 gzip 壓縮,IIS5 就比較費勁了,你可以找一些第三方的組件來處理,例如 httpzip,網址是:http://www.port80software.com/products/httpzip/?vid=3354166,不過這玩意是收費的。接下來我們介紹如何在 IIS6 中啟用壓縮功能。

    打開 Internet 信息服務(IIS)管理器,右擊"網站"->"屬性",選擇"服務"。在 "HTTP壓縮" 框中選中 "壓縮應用程序文件" 和 "壓縮靜態文件",按需要設置 "臨時目錄" 和 "臨時目錄的最大限制",如下圖所示:


    圖1 設置網站屬性
    圖1 設置網站屬性

    接下來配置 gzip 組件,在 Internet 信息服務(IIS)管理器,點擊 "Web 服務擴展"->"增加一個新的 Web 服務擴展...",在 "新建 Web 服務擴展" 框中輸入擴展名 "HTTP Compression",添加 "要求的文件" 為 C:\WINDOWS\system32\inetsrv\gzip.dll,選中 "設置擴展狀態為允許",如下圖所示:


    圖2 設置 Web 服務擴展
    圖2 IIS 設置 Web 服務擴展

    圖3 新建 Web 服務擴展
    圖3 新建 Web 服務擴展

    還沒完呢,我們還需要修改一個配置文件,修改之前請先停止 IIS 服務,打開 C:\Windows\System32\inetsrv\MetaBase.xml,這個文件很大,找到下面一段信息:



    增加一些要進行壓縮的文件后綴,其中 HcFileExtensions 是靜態文件的擴展名,增加 js 和 css 等;HcScriptFileExtensions 為動態文件的擴展名,增加 aspx,保存后啟動 IIS 即可生效。

    最后我們介紹如何來測試前面所做的工作是否起效,你可能會覺得很奇怪,配置好了,用瀏覽器打開頁面正常,查看頁面源碼,內容并沒有變化,大小也跟原來一樣,怎么回事呢?這是因為瀏覽器已經把內容解壓了的結果,有兩個方法來判斷壓縮是否生效:第一,查看 WEB 服務器的日志,不管是 Apache 或者是 IIS,二者的訪問日志格式都差不多是下面這種格式:

    127.0.0.1 - - [14/May/2006:08:44:28 +0800] "GET /manual/style/css/manual.css HTTP/1.1" 200 19351

    最后兩個數字分別是 HTTP 的結果碼(200 表示 OK),19351 表示的是響應內容的大小,把這個大小跟你在瀏覽器上查看源碼的大小比較一下就可以知道是否生效。另外一種方法就是自己寫一個 HTTP 客戶端的小程序并設置 Accept-Encoding 的值為 gzip,deflate,由這個程序去請求服務器端的某個 URL 地址,然后打印出響應的內容,如果是一堆亂碼,恭喜你,配置成功。下面是一段 Java 寫的測試客戶端代碼(需要用到 commons-httpclient 包):

    HttpClient http = new HttpClient();		
    String url = "http://www.dlog.cn/javayou";
    GetMethod get = new GetMethod(url);
    try{
    	System.out.println("fetching url : "+ url);
    	get.addRequestHeader("accept-encoding", "gzip,deflate");
    	int er = http.executeMethod(get);
    	if(er==200){
    		System.out.println(get.getResponseContentLength());
    		String html = get.getResponseBodyAsString();
    		System.out.println(html);
    		System.out.println(html.getBytes().length);
    	}
    }finally{
    	get.releaseConnection();
    }

    結論

    以上是目前比較流行的兩個 WEB 服務器軟件以及 Tomcat 服務器對于頁面壓縮的配置方法;其他的一些 J2EE 應用服務器如果不支持這個功能的話可以考慮利用過濾器(Servlet Filter)來進行處理,具體的代碼以及配置方法可以參考 Resin 服務器所提供的文檔。但是有一點需要提醒各位讀者的是,本文介紹的訪問只是在服務器本身的響應速度已經足夠優化的情況下進行,也就是說在帶寬成為系統瓶頸的時候才來考慮該方案。

    什么是GZIP壓縮 網頁GZIP壓縮
    這一般是指WWW服務器中安裝的一個功能,當有人來訪問這個服務器中的網站時,服務器中的這個功能就將網頁內容壓縮后傳輸到來訪的電腦瀏覽器中顯示出來.一般對純文本內容可壓縮到原大小的40%.這樣傳輸就快了,效果就是你點擊網址后會很快的顯示出來.當然這也會增加服務器的負載.
    一般服務器中都安裝有這個功能模塊的.

    相關推薦

    400-8842-880

    品牌網站設計塑造高顏值公司!

    • 售前:0771-2860265 / 5783282
      13481069551(盧經理)

    • 售后:0771-5783282

    • 工作時間:09:00 - 18:30

    ©2019.ALL RIGHTS RESERVED.南寧博信網絡技術有限公司  桂ICP備10201394號  桂公網安備45010302001330號 html網站地圖 xml網站地圖
    快乐扑克三开奖查询