android 客戶端 Cookie處理

2021-07-06 05:56:10 字數 1540 閱讀 3964

android 客戶端 cookie處理

cookie,有時也用其複數形式cookies,指某些**為了辨別使用者身份、進行session跟蹤而儲存在使用者本地終端上的資料(通常經過加密)。

cookie最早是網景公司的前

雇員lou montulli在2023年3月的發明。

cookie是由伺服器端生成,傳送給user-agent(一般是

瀏覽器,客戶端),瀏覽器會將cookie的key/value儲存到某個目錄下的

文字檔案內,下次請求同一**時就傳送該cookie給

伺服器(前提是瀏覽器設定為啟用cookie)。cookie名稱和值可以由伺服器端開發自己定義,對於

jsp而言也可以直接寫入jsessionid,這樣伺服器可以知道該使用者是否合法使用者以及是否需要重新登入等。

伺服器可以利用cookies包含資訊的任意性來篩選並經常性維護這些資訊,以判斷在http傳輸中的狀態。cookies最典型的應用是判定註冊使用者是否已經登入**,使用者可能會得到提示,是否在下一次進入此**時保留使用者資訊以便簡化登入手續,這些都是cookies的功用。另乙個重要應用場合是「購物車」之類處理。使用者可能會在一段時間內在同一家**的不同頁面中選擇不同的商品,這些資訊都會寫入cookies,以便在最後付款時提取資訊。目前cookies 最廣泛的是記錄使用者登入資訊,這樣下次訪問時可以不需要輸入自己的使用者名稱、密碼了——當然這種方便也存在使用者資訊洩密的問題,尤其在多個使用者共用一台電腦時很容易出現這樣的問題。

cookie可以保持登入資訊到使用者下次與伺服器的會話,換句話說,下次訪問同一**時,使用者會發現不必輸入使用者名稱和密碼就已經登入了(當然,不排除使用者手工刪除cookie)。而還有一些cookie在使用者退出會話的時候就被刪除了,這樣可以有效保護個人隱私。

cookie在生成時就會被指定乙個expire值,這就是cookie的生存週期,在這個週期內cookie有效,超出週期cookie就會被清除。有些頁面將cookie的生存週期設定為「0」或負值,這樣在關閉瀏覽器時,就馬上清除cookie,不會記錄使用者資訊,更加安全。

android 中cookie 的操作:

邏輯:cookie是由伺服器生成的。客戶端第一次向伺服器傳送http請求時,由於沒有cookie,在http請求頭中即header中不包含"cookie"。此時在伺服器返回的相應(httpresponse)中會多乙個字段"set-cookie",此字段的值就是伺服器生成的cookie值,下次再由此客戶端程式訪問該伺服器時,就可以把該cookie值放入http請求頭中。伺服器就會知道是哪個使用者再次訪問了該伺服器。客戶端需要儲存該cookie以此使用者再次訪問伺服器時使用。cookie會有乙個失效時間,客戶端在cookie失效後再次訪問伺服器,伺服器會返回乙個cookie失效的狀態碼(比如403之類的),並在httpresponse中包含"set-cookie"字段,這裡面是新的cookie。客戶端需要做的操作是:1.將新cookie覆蓋舊的cookie。2.跳入使用者登入介面,讓使用者用新的cookie重新登陸。cookie 可以儲存在sharepreferenced或者sqlite中。

實現**:

public byte dopost(string url, listvalues)

android客戶端 AsyncTask的使用

在開發android移動客戶端的時候往往要使用多執行緒來進行操作,我們通常會將耗時的操作放在單獨的執行緒執行,避免其占用主線程而給使用者帶來不好的使用者體驗。但是在子執行緒中無法去操作主線程 ui 執行緒 在子執行緒中操作ui執行緒會出現錯誤。因此android提供了乙個類handler來在子執行緒...

瘦客戶端 胖客戶端 智慧型客戶端

胖客戶端模式將應用程式處理分成了兩部分 由使用者的桌面計算機執行的處理和最適合乙個集中的伺服器執行的處理。乙個典型的胖客戶端包含乙個或多個在使用者的pc上執行的應用程式,使用者可以檢視並運算元據 處理一些或所有的業務規則 同時提供乙個豐富的使用者介面做出響應。伺服器負責管理對資料的訪問並負責執行一些...

胖客戶端 瘦客戶端和富客戶端

以c s結構開發的網路應用程式,需要為客戶端開發專用的客戶端軟體,相對而言其客戶端比較龐大,在客戶端可以實現很多功能,分擔伺服器的負擔,屬於胖客戶端型別。以b s結構開發的web應用,其客戶端只是乙個瀏覽器,所有業務邏輯由伺服器端進行處理,相對而言客戶端比較瘦小,故稱為瘦客戶端。目前比較流行的一種開...