cookie也叫HTTP Cookie,最初是客户端与服务器端进行会话使用的
document.cookie = "username = xiaoming";(创建cookie的方式)
cookie由名/值对形式的文本组成:name=value。完整格式为:
name=value; [expires=date]; [path=path]; [domain=somewhere.com]; [secure]
中括号是可选,name=value是必选。
document.cookie = 'user=xiaoming'//写入
alert(document.cookie); //读取
2:创建cookie后的过期时间Cookie虽然在持久保存客户端用户数据提供了方便,分担了服务器存储的负担。但是还有很多局限性的。
第一:每个特定的域名下最多生成20个cookie(根据不同的浏览器有所区别)。
1.IE6或更低版本最多20个cookie
2.IE7和之后的版本最多可以50个cookie。IE7最初也只能20个,之后因被升级不定后增加了。
3.Firefox最多50个cookie
4.Opera最多30个cookie
5.Safari和Chrome没有做硬性限制。
为了更好的兼容性,所以按照最低的要求来,也就是最多不得超过20个cookie。当超过指定的 cookie时,浏览器会清理掉早期的cookie。IE和Opera会清理近期最少使用的cookie,Firefox会随机清理cookie。
第二:cookie的最大大约为4096字节(4k),为了更好的兼容性,一般不能超过4095字节即可。
第三:cookie存储在客户端的文本文件,所以特别重要和敏感的数据是不建议保存在cookie的。比如银行卡号,用户密码等
第四: cookie 会把数据发送到服务端 有些会造成不必要的带宽浪费
cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。
Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。`
var d = new Date();
// d.setDate(d.getDate() + 3);
d.setMinutes(d.getMinutes() + 1);
document.cookie = "user = Jack;expires = " + d;
//3:创建cookie
function setCookie(name,value,day){
var cookieText = name + "=" + value;
if(day > 0){
var d = new Date();
d.setDate(d.getDate() + day);
cookieText = cookieText + ";expires= " + d;
}
document.cookie = cookieText;
}
setCookie("a","Rose",1);
setCookie("bbb","Jack",1);
setCookie("c","xiaoming",1);
document.write(document.cookie)
// alert(document.cookie.substring(2));
// var str = "c";
// var s = document.cookie.indexOf(str + "=");//8
// var e = document.cookie.indexOf(";",s);//14
// var start = s + str.length + 1;
// alert(document.cookie.substring(start,e))
// a=Rose
// substring(2)
// substr(2,4)
//获取
function getCookie(name){
var start,end;
if(document.cookie.indexOf(name + "=") != -1){
start = document.cookie.indexOf(name + "=");
end = document.cookie.indexOf(";",start);
if(end == -1){
end = document.cookie.length;
}
return document.cookie.substring(start + name.length + 1,end);
}
}
// alert(getCookie("a"));
// alert(getCookie("bbb"));
// alert(getCookie("c"));
删除cookie
function unsetCookie(name){
document.cookie = name + "=;expires = " + new Date(0);
}
unsetCookie("a");
//设置cookie
function setCookie(name,value,day){
var cookieText = name + "=" + value;
if(day > 0){
var d = new Date();
d.setDate(d.getDate() + day);
cookieText += ";expires = " + d;
}
document.cookie = cookieText;
}
//获取cookie
function getCookie(name){
var start,end;
if(document.cookie.indexOf(name + "=") != -1){
start = document.cookie.indexOf(name + "=");
end = document.cookie.indexOf(";",start);
if(end == -1){
end = document.cookie.length;
}
return document.cookie.substring(start + name.length + 1 , end);
}
}
var u = getCookie("username");
var newu;
if(u != "" && u != null){
alert("欢迎你回来,亲爱的" + u);
}else{
newu = prompt("请输入你的用户名");
if(newu != null && newu != ""){
setCookie("username",newu,1);
}
}
本地存储
localStorage.setItem("username","xiaoming");
//本地存储第一种设置方式
// localStore.setItem(key,value)
//本地存储第二种设置方式
// localStorage.属性名 = 属性值;
localStorage.book = "piao";
localStorage.a = "xiaohuang";
// alert(localStorage.book);
// alert(localStorage.username);
// 获取本地存储
// 第一种方式:
// localStorage.属性名
// 第二种方式:
删除
// localStorage.getItem("属性名")
// alert(localStorage.getItem("username"))
localStorage.removeItem("username")
//删除所有的存储信息(清空所有信息)
localStorage.clear();
应用缓存
manifest="demo.appcache"
cookie由名/值对形式的文本组成:name=value。完整格式为:
name=value; [expires=date]; [path=path]; [domain=somewhere.com]; [secure]
中括号是可选,name=value是必选。
document.cookie = 'user=xiaoming'//写入
alert(document.cookie); //读取
cookie由名/值对形式的文本组成:name=value。完整格式为:
name=value; [expires=date]; [path=path]; [domain=somewhere.com]; [secure]
中括号是可选,name=value是必选。
document.cookie = 'user=xiaoming'//写入
alert(document.cookie); //读取
cookie由名/值对形式的文本组成:name=value。完整格式为:
name=value; [expires=date]; [path=path]; [domain=somewhere.com]; [secure]
中括号是可选,name=value是必选。
document.cookie = 'user=xiaoming'//写入
alert(document.cookie); //读取
Cookie虽然在持久保存客户端用户数据提供了方便,分担了服务器存储的负担。但是还有很多局限性的。
第一:每个特定的域名下最多生成20个cookie(根据不同的浏览器有所区别)。
1.IE6或更低版本最多20个cookie
2.IE7和之后的版本最多可以50个cookie。IE7最初也只能20个,之后因被升级不定后增加了。
3.Firefox最多50个cookie
4.Opera最多30个cookie
5.Safari和Chrome没有做硬性限制。
为了更好的兼容性,所以按照最低的要求来,也就是最多不得超过20个cookie。当超过指定的 cookie时,浏览器会清理掉早期的cookie。IE和Opera会清理近期最少使用的cookie,Firefox会随机清理cookie。
第二:cookie的最大大约为4096字节(4k),为了更好的兼容性,一般不能超过4095字节即可。
第三:cookie存储在客户端的文本文件,所以特别重要和敏感的数据是不建议保存在cookie的。比如银行卡号,用户密码等
第四: cookie 会把数据发送到服务端 有些会造成不必要的带宽浪费
cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。
Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。`
Cookie虽然在持久保存客户端用户数据提供了方便,分担了服务器存储的负担。但是还有很多局限性的。
第一:每个特定的域名下最多生成20个cookie(根据不同的浏览器有所区别)。
1.IE6或更低版本最多20个cookie
2.IE7和之后的版本最多可以50个cookie。IE7最初也只能20个,之后因被升级不定后增加了。
3.Firefox最多50个cookie
4.Opera最多30个cookie
5.Safari和Chrome没有做硬性限制。
为了更好的兼容性,所以按照最低的要求来,也就是最多不得超过20个cookie。当超过指定的 cookie时,浏览器会清理掉早期的cookie。IE和Opera会清理近期最少使用的cookie,Firefox会随机清理cookie。
第二:cookie的最大大约为4096字节(4k),为了更好的兼容性,一般不能超过4095字节即可。
第三:cookie存储在客户端的文本文件,所以特别重要和敏感的数据是不建议保存在cookie的。比如银行卡号,用户密码等
第四: cookie 会把数据发送到服务端 有些会造成不必要的带宽浪费
cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。
Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。
cookie 和session 的区别:`
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
5、所以个人建议:
将登陆信息等重要信息存放为SESSION
其他信息如果需要保留,可以放在COOKIE中
sessionStorage: session即会话的意思,在这里的session是指用户浏览某个网站时,从进入网站到关闭网站这个时间段,session对象的有效期就只有这么长。
sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。
localStorage: 将数据保存在客户端硬件设备上,不管它是什么,意思就是下次打开计算机时候数据还在。
localStorage 方法存储的数据没有时间限制。第二天、第二周或下一年之后,数据依然可用。
两者区别就是一个作为临时保存,一个长期保存。
应用程序缓存为应用带来三个优势:
离线浏览 - 用户可在应用离线时使用它们
速度 - 已缓存资源加载得更快
减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源。
设置服务器识别appcache文件
扩展名:.appcache 类型:cache manifest cache:6 需要加载的文件(如js/css/jpg文件等)