您現在的位置是:電腦技術吧?>? 基礎知識 ??>??什么是數據壓縮,AIC23數據壓縮??>??正文詳情

什么是數據壓縮,AIC23數據壓縮

繁清漪2019-12-21 12:23:05 人圍觀
簡介數據庫數據壓縮數據壓縮使用gzip處理壓縮的響應數據。從0.9版開始,asihttprequest將提示服務器它可以接收gzip壓縮數據。很多web服務器可以在數據發送之前對數據壓縮原理

數據壓縮  使用gzip來處理壓縮的響應數據  從0.9版本開始,ASIHTTPRequest會提示服務器它可以接收gzip壓縮過的數據。

許多web服務器可以在數據被發送之前壓縮這些數據這可以加快下載速度減少流量使用,但會讓服務器的cpu(壓縮數據)和客戶端(解壓數據)付出代價。

總的來說,只有特定的幾種數據會被壓縮許多二進制格式的文件像jpeg,gif,png,swf和pdf已經壓縮過他們的數據了,所以向客戶端發送這些數據時不會進行gzip壓縮。

文本文件例如網頁和xml文件會被壓縮,因為它們通常有大量的數據冗余。

  怎樣設置apache的mod_deflate來使用gzip壓縮數據  apache 2.x以上版本已經配備了mod_deflate擴展,這使得apache可以透明地壓縮特定種類的數據。

要開啟這個特性,你需要在apache的配置文件中啟用mod_deflate。

并將mod_deflate命令添加到你的虛擬主機配置或者.htaccess文件中。

  在ASIHTTPRequest中使用gzip  - (IBAction)grabURL:(id)sender  {  NSURL *url = [NSURL URLWithString:@http://www.dreamingwish.com];  ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];  // 默認為YES, 你可以設定它為NO來禁用gzip壓縮  [request setAllowCompressedResponse:YES];  [request startSynchronous];  BOOL *dataWasCompressed = [request isResponseCompressed]; // 響應是否被gzip壓縮過?  NSData *compressedResponse = [request rawResponseData]; // 壓縮的數據  NSData *uncompressedData = [request responseData]; // 解壓縮后的數據  NSString *response = [request responseString]; // 解壓縮后的字符串  }  當allowCompressedResponse 設置為YES時,ASIHTTPRequest將向request中增加一個Accept-Encoding頭,表示我們可以接收gzip壓縮過的數據。

如果響應頭中包含一個Content-Encoding頭指明數據是壓縮過的,那么調用responseData 或者responseString 將會得到解壓縮后的數據。

你也可以通過調用rawResponseData來獲得原始未壓縮的數據。

  相應數據的實時解壓縮  默認情況下,ASIHTTPRequest會等到request完成時才解壓縮返回的數據。

若設置request的shouldWaitToInflateCompressedResponses 屬性為NO,ASIHTTPRequest將會對收到的數據進行實時解壓縮。

在某些情況下,這會稍稍提升速度,因為數據可以在reqeust等待網絡數據時進行處理。

  如果你需要對響應數據流進行流處理(例如XML和JSON解析),這個特性會很有用。

如果啟用了這個選項,你可以通過實現代理函數request:didReceiveData:來將返回的網絡數據一點一點喂給解析器。

  注意,如果shouldWaitToInflateCompressedResponses 被設置為NO,那么原始(未解壓)的數據會被拋棄。

具體情況請查閱ASIHTTPRequest.h的代碼注釋。

  使用gzip壓縮request數據  1.0.3版本的新特性就是gzip壓縮request數據。

使用這個特性,你可以通過設置shouldCompressRequestBody 為YES來使你的程序壓縮POST/PUT的內容,默認值為NO。

  apache的mod_deflate可以自動解壓縮gzip壓縮的請求體(通過合適的設置)。

這個方法適用于CGI內容,但不適用于內容過濾器式的模塊(例如mod PHP),這種情況下,你就必須自己解壓縮數據。

  ASIHTTPRequest 無法檢測一個服務器是否能接收壓縮過的請求體。

當你確定服務器可以解壓縮gzip包時,再使用這個特性。

  請避免對已經壓縮過的格式(例如jpeg/png/gif/pdf/swf)進行壓縮,你會發現壓縮后的數據比原數據更大。

  Cookie的使用  持久化cookie  ASIHTTPRequest允許你使用全局存儲來和所有使用CFNetwork或者NSURLRequest接口的程序共享cookie。

  如果設置useCookiePersistence為YES(默認值),cookie會被存儲在共享的 NSHTTPCookieStorage 容器中,并且會自動被其他request重用。

值得一提的是,ASIHTTPRequest會向服務器發送其他程序創建的cookie(如果這些cookie對特定request有效的話)。

  你可以清空session期間創建的所有cookie:  [ASIHTTPRequest setSessionCookies:nil];  這里的session cookies指的是一個session中創建的所有cookie,而非沒有過期時間的cookie(即通常所指的會話cookie,這種cookie會在程序結束時被清除)。

  另外,有個方便的函數 clearSession可以清除session期間產生的所有的cookie和緩存的授權數據。

  自己處理cookie  如果你愿意,你大可以關閉useCookiePersistence,自己來管理某個request的一系列cookie:  //創建一個cookie  NSDictionary *properties = [[[NSMutableDictionary alloc] init] autorelease];  [properties setValue:[@Test Value encodedCookieValue] forKey:NSHTTPCookieValue];  [properties setValue:@ASIHTTPRequestTestCookie forKey:NSHTTPCookieName];  [properties setValue:@.dreamingwish.com forKey:NSHTTPCookieDomain];  [properties setValue:[NSDate dateWithTimeIntervalSinceNow:60*60] forKey:NSHTTPCookieExpires];  [properties setValue:@/asi-http-request/tests forKey:NSHTTPCookiePath];  NSHTTPCookie *cookie = [[[NSHTTPCookie alloc] initWithProperties:properties] autorelease];  //這個url會返回名為'ASIHTTPRequestTestCookie'的cookie的值  url = [NSURL URLWithString:@http://www.dreamingwish.com/];  request = [ASIHTTPRequest requestWithURL:url];  [request setUseCookiePersistence:NO];  [request setRequestCookies:[NSMutableArray arrayWithObject:cookie]];  [request startSynchronous];  //將會打印: I have 'Test Value' as the value of 'ASIHTTPRequestTestCookie'  NSLog(@%@,[request responseString]);

版權聲明:本文由 繁清漪 整理編輯。

原標題:數據壓縮的方法,數據壓縮分類

轉載注明出處:http://www.dn9ww09s.icu/basics/15613.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 如何將字符串轉化為數組,如何將字符串轉為日期

    如何將字符串轉化為數組,如何將字符串轉為日期 相關圖片將字符串轉換為日期下面是將文本文件或字符串轉換為圖片的示例。調用方法:C?code converttextfiletoimage(服務器。映射路徑(~/data。Txt),服務器如何將字符串轉換成日期...

  • ps漸變步驟,ps漸變的運用

    ps漸變步驟,ps漸變的運用 相關圖片ps漸變人物本文通過一個實例說明了PHP如何使用GD實現顏色漸變。與您分享以供參考。具體實現方法如下:?1234567891011?PHP$im=imagecreate(2漸變編輯器的使用...

  • 什么是構造函數重載,構造函數怎么重載

    什么是構造函數重載,構造函數怎么重載 相關圖片構造函數和析構函數重載本文主要介紹了C 中構造函數重載的相關信息,非常詳細。對于您的朋友,請參閱“12345678910121314151617181920212223242526什么是復制構造函數重載...

  • 安全備份的策略,備份方案及策略

    安全備份的策略,備份方案及策略 相關圖片常見的系統備份策略有在數據庫表丟失或損壞的情況下備份數據庫很重要。如果發生系統崩潰,您希望能夠將表還原到崩潰發生的狀態,同時盡可能減少數據丟失。本文主要對MyISAM表進...

  • 日歷跳轉指定日期,計算指定日期的年齡

    日歷跳轉指定日期,計算指定日期的年齡 相關圖片朋友圈指定日期讓我們了解一下:雖然我們不能在access中使用DateDiff函數,但是我們可以使用date函數來實現這個函數。讓我們來看看下面這個巨大的例子,即如何選擇前8朋友圈怎么看指...

  • oracle如何導入數據,oracle數據庫導入數據

    oracle如何導入數據,oracle數據庫導入數據 相關圖片oracle 導入本文介紹了Oracle數據的導入和導出、IMP命令和exp命令,并對它們的相關參數進行了說明。然后通過一些例子,加深我們的理解。最后,本文討論了在使用這兩個命令oracle導入...

  • javascript 回調函數,nodejs回調函數

    javascript 回調函數,nodejs回調函數 相關圖片前端回調函數本文的例子描述了JavaScript中帶有回調函數的異步腳本加載方法。與您分享以供參考。具體實現方法如下:?12345678910121314151617181什么是回調函數...

  • asp是什么,asp和php

    asp是什么,asp和php 相關圖片net是啥ASP。NETC生成隨機數類文件,并根據需要生成一些隨機數。最大值和最小值可以自行設定。代碼很簡單,可以放在公共庫中進行調用。類代碼如下:asp.net和php的區別...

  • ios性能優化的點,ios性能優化設置

    ios性能優化的點,ios性能優化設置 相關圖片iOS9優化最近,主要的項目是lbs,它是主要成員的定位功能。我們的用戶界面設計是這樣的,乍一看,它看起來非常漂亮。不同的人會展示不同的化身,但當人們在人群中時,問題就來了...

  • 如何建立文件夾目錄,文件目錄怎么做

    如何建立文件夾目錄,文件目錄怎么做 相關圖片在文件夾下創建文件ASP根據用戶自定義的遠程圖像地址,自動下載圖像并上傳到服務器上,只是提供了一種思路,如果熟悉ASP,可以自己擴展它。如何創建文件夾做文檔...

熱評文章

  • 語法分析器,漢語語法基礎知識

    語法分析器,漢語語法基礎知識 相關圖片英語語法分析軟件HTML注釋在客戶端顯示注釋。JSP語法!--注釋[%=expression%]--示例1!--這個文件在客戶機上顯示用戶登錄屏幕--HT英語語法改錯...

  • ios字體叫什么,ios換字體

    ios字體叫什么,ios換字體 相關圖片ios12更換字體1、 IOS本機字體顯示標簽中選定的字體,并將字體從“系統”更改為“自定義”。家族中可以看到72種特殊字體。里面有非常炫目的字體,但都是英文數字的,不是中文的。...

  • textarearesize,textarea值

    textarearesize,textarea值 相關圖片jsp textarea本文以一個實例說明了如何用JavaScript實現文本區tab鍵的縮進。與您分享以供參考。具體如下:在互聯網上搜索相關解決方案,其他解決方案使用兩三行JavaStextarea value...

  • 要使文本框獲得焦點,讓文本框獲得焦點的方法

    要使文本框獲得焦點,讓文本框獲得焦點的方法 相關圖片vb使文本框獲得焦點本文的例子描述了JavaScript在獲取焦點后實現背景圖像在文本框中默認顯示的方法。與您分享以供參考。具體如下:HTML代碼:?123456789formnavb設置文本框為焦點...

  • 緩沖區溢出漏洞解決方案,文件上傳漏洞解決方案

    緩沖區溢出漏洞解決方案,文件上傳漏洞解決方案 相關圖片文件上傳漏洞原理在網站建設初期,很多網站都會將密碼放入數據庫,在登錄驗證時使用SQL=select*from user where user name='username'和p文件包含漏洞繞過技巧...

  • %c,8c

    %c,8c 相關圖片c-5最簡單的方法是導出頁面上的所有內容,并在加載時調用它。請注意,頁面上不能有其他控件,包括button void converttoexcel(){響應。Cleac哩...

  • iOS發布流程,ios流程軟件

    iOS發布流程,ios流程軟件 相關圖片蘋果app開發流程我認為GIT進程在IOS開發中的優勢不需要詳細解釋。這和SVN的不一樣。過去,我經常通過拖拽文件的方式,讓很多人來配合開發。--! 我不想在這里討論一些基本的命iosapp上...

  • php for android,android運行php

    php for android,android運行php 相關圖片android php服務器下面是一個PHP如何判斷Android、IOS或WP是否會訪問網站的示例。這很實用,我希望能對你有所幫助。在PHP中,我們可以使用$_server['http_php開發安卓...

  • 如何保持狀態,保持好狀態

    如何保持狀態,保持好狀態 相關圖片如何讓自己保持穩定的狀態net提供了session對象,它允許程序員識別、存儲和處理來自同一瀏覽器對象的多個請求的上下文信息,并將其發送到服務器上的特定網絡應用程序。會話對應于...

  • asp連接oracle數據庫,pl/sql developer

    asp連接oracle數據庫,pl/sql developer 相關圖片Oracle10g本文主要介紹了使用ODP的asp.net防注入登錄驗證程序,即Oracle連接方式。您可以參考Internet上許多SQL連接模式的登錄驗證,但是如果沒有Oracas和casshiro比較...

關注微信

变脸官网查询