自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

綜述客戶端數(shù)據(jù)存儲(chǔ)

運(yùn)維 數(shù)據(jù)庫(kù)運(yùn)維
為什么需要客戶端數(shù)據(jù)存儲(chǔ)?響應(yīng)時(shí)間中,http請(qǐng)求響應(yīng)占用的時(shí)間不可小視,因此減少http的請(qǐng)求可提高用戶體驗(yàn),當(dāng)然也能減少異常出現(xiàn)的幾率。 如何使用客戶端數(shù)據(jù)存儲(chǔ)?在我有限的知識(shí)范疇內(nèi),把客戶端數(shù)據(jù)存儲(chǔ)分為兩類,一類是同頁(yè)數(shù)據(jù)存取訪問(wèn),一類是跨頁(yè)數(shù)據(jù)存儲(chǔ)訪問(wèn)。

概要

客戶端數(shù)據(jù)存儲(chǔ)是什么?

簡(jiǎn)單的說(shuō)就是把數(shù)據(jù)存儲(chǔ)在特定的客戶端,從而減少向服務(wù)器請(qǐng)求數(shù)據(jù)的次數(shù)。

為什么需要客戶端數(shù)據(jù)存儲(chǔ)?

響應(yīng)時(shí)間中,http請(qǐng)求響應(yīng)占用的時(shí)間不可小視,因此減少http的請(qǐng)求可提高用戶體驗(yàn),當(dāng)然也能減少異常出現(xiàn)的幾率。

如何使用客戶端數(shù)據(jù)存儲(chǔ)?

在我有限的知識(shí)范疇內(nèi),把客戶端數(shù)據(jù)存儲(chǔ)分為兩類,一類是同頁(yè)數(shù)據(jù)存取訪問(wèn),一類是跨頁(yè)數(shù)據(jù)存儲(chǔ)訪問(wèn)。

同頁(yè)數(shù)據(jù)存取訪問(wèn)

我所知道的同頁(yè)數(shù)據(jù)存儲(chǔ)有五類(腳本庫(kù)是用的是jquery-1.6):

***種是使用 存取數(shù)據(jù)

?。?(“#cds1”).val() 存:$(“#cds1”).val(‘other data’).

第二種是使用html自定義屬性存取數(shù)據(jù)

 

 

取:$(“#cds2”).attr(“val”) 存:$(“#cds2”).attr(“val”,”other data”);

第三種是使用html5中新增的屬性“data-youvalue”方式存取

 

 

?。?(“#cds3”).data(“val”) 存:$(“#cds3”).data(“val”,”other val”),需要注意的是如果data-val有初始值,$(“#cds3”).data(“val”)會(huì)丟失前面的0,可以使用$(“#cds3”).attr(“data-val”)方式解決這個(gè)問(wèn)題.但如果是通過(guò)$(“#cds3”).data(“val”,”001”)方式設(shè)置后再取,再用$(“#cds3”).data(“val”)取則不會(huì)丟失。

第四種方式是在ie中加入的

 

代碼如下(代碼在ie[7|8|9]測(cè)試通過(guò),在ff4.0.1中會(huì)報(bào)錯(cuò)):

  1. // set data  
  2. var dS = document.getElementById("cds4");  
  3. dS.setAttribute("name", "chen qi liang");  
  4. dS.save("info");  
  5. // get data  
  6. dS.load("info");  
  7. alert(dS.getAttribute("name"));  
  8. // delete data  
  9. dS.removeAttribute("name");  
  10. dS.save("info"); 

 

第五種是使用sessionStorage代碼如下(ie[7|8|9],ff4.0.1測(cè)試通過(guò)):

  1. sessionStorage.name = "chen qi liang";或sessionStorage.setItem(“name”,”chen qi liang”)  
  2. alert(sessionStorage.name); 或alert(sessionStorage.getItem(“name”)); 

跨頁(yè)數(shù)據(jù)存取訪問(wèn)

我所知道的有三種方式

***種方式url參數(shù)傳遞(個(gè)人認(rèn)為不能算嚴(yán)格意義上的客戶端數(shù)據(jù)存取)

  1. url?parameter=value 
  2. var cql ={  
  3. // get querystring, ignore the case sensitive  
  4. // if no match then return ""  
  5. // 此方法由同事范占房提供  
  6. getQueryStr: function(param) {  
  7. var re = new RegExp("[&,?]" + param + "=([^\\&]*)", "i");  
  8. var a = re.exec(document.location.search);  
  9. if (a == null)  
  10. return "";  
  11. return a[1];  
  12. }  
  13. }; 

第二種是cookie方式存取方式我寫了一個(gè)插件請(qǐng)參考http://www.cnblogs.com/cqiliang/archive/2011/05/20/2052184.html,還有一類cookie是http專用cookie,javascript無(wú)法獲取它的值。在c#中設(shè)置如下:

  1. HttpCookie cookie = new HttpCookie("test");  
  2. cookie.HttpOnly = true; // http 專用cookie  
  3. cookie.Values["item1"] = "value1";  
  4. cookie.Values["item2"] = "value2";  
  5. HttpContext.Current.Response.Cookies.Set(cookie); 

第三種方式是globalStorage(在html5中被localStorage替換):

  1. globalStorage['wrox.com'].name = 'wrox';//保存數(shù)據(jù) var name = globalStorage['wrox.com'].name;//獲取數(shù)據(jù)  
  2. localStorage.setItem("name", "chemdmeo");//保存數(shù)據(jù)  
  3. localStorage.book = 'js'; //保存數(shù)據(jù)  
  4. localStorage.book//獲取數(shù)據(jù)  
  5. localStorage.getItem(“name”) //獲取數(shù)據(jù)  
  6. //兼容只支持globalStorage的瀏覽器 function getLocalStorage() { if(typeof localStorage == 'object') { return localStorage; } else if(typeof globalStorage == 'object') { return globalStorage[location.host]; } else { throw new Error('Local storage not available.'); } }; 

注:并不是所有瀏覽器都支持上述的dom存儲(chǔ)。

客戶端存儲(chǔ)數(shù)據(jù)是不安全的,敏感數(shù)據(jù)不應(yīng)使用這種方式存儲(chǔ)。

原文鏈接:http://www.cnblogs.com/cqiliang/archive/2011/05/24/2055642.html

【編者推薦】

  1. 如何解決PHP+MySQL出現(xiàn)亂碼的現(xiàn)象
  2. 教你如何利用MySQL學(xué)習(xí)MongoDB之安裝篇
  3. MySQL配置時(shí)提示無(wú)法連接到MySQL本地服務(wù)器
  4. MySQL中的NoSQL插件
  5. 論MySQL數(shù)據(jù)庫(kù)中兩種數(shù)據(jù)引擎的差別
責(zé)任編輯:艾婧 來(lái)源: 博客園
相關(guān)推薦

2016-10-20 16:11:39

HtmlJavascript

2017-04-06 15:40:31

客戶端數(shù)據(jù)存儲(chǔ)技術(shù)

2019-08-07 10:23:20

Cookie客戶端數(shù)據(jù)庫(kù)

2011-08-17 10:10:59

2021-09-22 15:46:29

虛擬桌面瘦客戶端胖客戶端

2010-05-31 10:11:32

瘦客戶端

2011-10-26 13:17:05

2011-03-02 14:36:24

Filezilla客戶端

2010-12-21 11:03:15

獲取客戶端證書

2011-03-24 13:00:31

配置nagios客戶端

2011-03-21 14:53:36

Nagios監(jiān)控Linux

2009-03-04 10:27:50

客戶端組件桌面虛擬化Xendesktop

2011-04-06 14:24:20

Nagios監(jiān)控Linux

2013-05-09 09:33:59

2012-10-11 17:02:02

IBMdw

2012-11-28 11:05:42

IBMdW

2010-07-06 15:21:25

UDP客戶端

2023-03-05 18:36:52

ChatGpt跨平臺(tái)ORM

2010-05-12 15:46:51

Subversion客

2010-02-22 09:03:22

零客戶端瘦客戶端VDI終端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)