Heim  >  Artikel  >  Web-Frontend  >  Beispiele für Browser-Speichertechnologien Cookie und Sitzung

Beispiele für Browser-Speichertechnologien Cookie und Sitzung

零下一度
零下一度Original
2017-06-28 09:28:241508Durchsuche

Das zustandslose HTTP-Protokoll bedeutet, dass das Protokoll keine Speicherkapazität für die Transaktionsverarbeitung hat.
Sitzungsverfolgung
Der Status des Protokolls bezieht sich auf die Fähigkeit der nächsten Übertragung, sich die Übertragungsinformationen zu „merken“. Zustandslos bezieht sich auf zwei aufeinanderfolgende
s derselben Sitzung (beachten Sie, was dieselbe Sitzung ist). Die Anfragen verstehen sich nicht. Wenn der Browser eine Anfrage an den Server sendet, antwortet der Server, aber wenn derselbe Browser erneut eine Anfrage an den
-Server sendet, antwortet er, weiß aber nicht, dass Sie es sind Der Browser ist gerade jetzt. Jedes Mal, wenn eine Anfrage und eine Antwort relativ unabhängig sind.

Die häufigste Anwendung von Cookies besteht darin, festzustellen, ob sich ein registrierter Benutzer auf der Website angemeldet hat. Beim nächsten Aufruf dieser Website wird der Benutzer möglicherweise aufgefordert, Benutzerinformationen beizubehalten, um die
Anmeldung zu vereinfachen Verfahren. Dies sind die Funktionen von Cookies. Eine weitere wichtige Anwendung ist die „Warenkorb“-Verarbeitung. Benutzer können innerhalb eines bestimmten Zeitraums auf verschiedenen Seiten
derselben Website unterschiedliche Produkte auswählen. Diese Informationen werden in Cookies geschrieben, damit sie bei der endgültigen Zahlung extrahiert werden können.

Javascript verwendet Cookies
Angenommen, es gibt eine solche Situation in einem bestimmten Anwendungsfallprozess, springen Sie von Seite A zu Seite B. Wenn JS auf Seite A verwendet wird, um den Wert einer bestimmten Variablen zu speichern Wenn sich der variable temporäre Wert auf Seite B befindet, muss
auch JS verwenden, um auf den Variablenwert von temp zu verweisen. Der Lebenszyklus globaler Variablen oder statischer Variablen in JS ist begrenzt ,
Die Werte dieser Variablen werden neu geladen, das heißt, der Spareffekt wird nicht erreicht. Die beste Lösung für dieses Problem besteht darin, Cookies zu verwenden, um den Wert der Variablen zu speichern und zu lesen.
Zunächst müssen Sie die Struktur von Cookies ein wenig verstehen: Cookies werden in Form von Schlüssel-Wert-Paaren gespeichert, also im Schlüssel=Wert-Format. Jedes Cookie wird im Allgemeinen durch „;“ getrennt.

In H5 speichert webStorage tatsächlich Daten im Web, die in zwei Typen unterteilt sind:
sessionStorage Die beim Schließen des Browsers gespeicherten Daten verschwinden --- Temporärer Speicher
localStorage kann immer existieren --- Permanenter Speicher

Einstellungen

Sitzungsspeicher:
sessionStorage.setItem("smessage",dataDom.value);

Get

sessionStorage.getItem("smessage")

removeItem-Löschschlüssel

Zweck: Den Wert des lokalen Speichers des angegebenen Schlüssels löschen
Verwendung: .removeItem(key)
Codebeispiel:
sessionStorage.removeItem("key"); localStorage.removeItem("site");


Alle Schlüssel/Werte löschen
Zweck: Alle Schlüssel/Werte löschen value
Verwendung: .clear()
Codebeispiel:
sessionStorage.clear();

1. Cookies sind im Allgemeinen nicht größer als 4095 KB viele Einstellungen werden langsam sein;

2. Sowohl Client als auch Server können auf Daten zugreifen
3. Begrenzte Zeitbegrenzung

Lokaler Speicher: Nur lokaler Browser kann darauf zugreifen, jede Domain ist 5M groß

Nein Ablaufzeit; Speichern und Abrufen;

Cookies werden in Form von Schlüssel-Wert-Paaren gespeichert, also im Schlüssel=Wert-Format. Jedes Cookie wird normalerweise durch „;“ getrennt.
document.cookie="name="+username;
var username=document.cookie.split(";")[0].split("=")[1];

//JS-Operation Cookie-Methode!
//Cookies schreiben
function setCookie(name,value)
{
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp. toGMTString();
}

//Get cookie

function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+" =([^;]*)(;|$)");
if(arr=document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
}
//Cookie löschen
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null)
document.cookie= name + "="+cval+";expires="+exp.toGMTString() ;
}
//Verwendungsbeispiel
setCookie("name","hayden");
alert(getCookie("name"));
//Wenn Sie Anpassungen vornehmen müssen Ablaufzeit
//Dann ersetzen Sie die obige setCookie-Funktion durch die folgenden beiden Funktionen und es ist in Ordnung;
//Programmcode
Funktion setCookie(name, value, time)
{
var strsec = getsec(time);
var exp = new Date();
exp.setTime(exp.getTime() + strsec*1);
document.cookie = name + "="+ escape ( value) + ";expires=" + exp.toGMTString();
}
function getsec(str)
{
alert(str);
var str1=str.substring (1 ,str.length)*1;
var str2=str.substring(0,1);
if (str2=="s")
{
return str1*1000;
}
else if (str2=="h")
{
return str1*60*60*1000;
}
else if (str2=="d")
{
return str1*24*60*60*1000;
}
}
//Dies ist ein Beispiel für die Einstellung der Ablaufzeit:
//s20 steht für 20 Sekunden
//h bezieht sich auf die Stunde, z. B. 12 Stunden: h12
//d ist die Anzahl der Tage, 30 Tage: d30
setCookie("name", "hayden", "s20");


封装函数
//获取
function getCookie(c_name){
if (document.cookie.length>0) {
  var c_start=document.cookie.indexOf(c_name + "=")
  //console.log(c_start);
  if(c_start!=-1){
  c_start=c_start + c_name.length+1
  }else{
return;
  }
  //Benutzername
  // console.log(c_start);
c_end=document.cookie.indexOf(";",c_start)
console.log(c_end) ;
if (c_end==-1) {
c_end=document.cookie.length;
}    
return document.cookie.substring(c_start,c_end);
  }else{
  return ""
  }

}
//设置
function setCookie(c_name,value,expiredays){
var exdate=new Date()
exdate. setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +value+";"+((expiredays==null) ? "" : ";expires="+exdate.toGMTString() )
}
//检查
function checkCookie(){
var username=getCookie('username')
console.log(username);
if (username!=null && username!=""){
warning('Willkommen wieder '+username+'!');
//setCookie("username",username,-1);
}else{
username=prompt('Bitte geben Sie Ihren Namen ein:',"")
  if (username!=null && username!=""){
setCookie('username',username,365)
}
  }
}
onload=checkCookie();

Das obige ist der detaillierte Inhalt vonBeispiele für Browser-Speichertechnologien Cookie und Sitzung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn