cookie
Posted 起个好名字
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cookie相关的知识,希望对你有一定的参考价值。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>无标题文档</title> 6 <script> 7 //cookie创建 8 //document.cookie="name=value";//名值对 9 //document.cookie="name=wangyang; pass=123456"//只有第一个有效 10 //document.cookie="name=wangyang&pass=123456"//不是常规写法 11 //document.cookie="age="+encodeURIComponent("中文");//多个cookie时由分号空格分隔 12 /* 13 旧的浏览器,中文会产生乱码问题,解决方案: 14 先编码,再解码 15 encodeURIComponent 16 decodeURIComponent 17 另一种 18 escape 19 unescape 20 */ 21 //var d=new Date(); 22 //d.setDate(d.getDate()-1);//当前时间加1天 23 //alert(d) 24 //cookie保存时间 25 //document.cookie="name=wangyang; expires="+d.toGMTString();//不写toGMTString时,IE不支持 26 27 //修改就是重新赋值,删除就是把过期时间调整到当前时间之前 28 //document.cookie="name=wangyang" 29 //document.cookie="name=wang" 30 31 //指定可访问cookie的主机名 32 /* 33 www.baidu.com/1.html 34 mp3.baidu.com/ 35 */ 36 //document.cookie("name=wang; domain=.baidu.com") 37 38 //默认情况下,如果在某个页面创建一个cookie,那么该页面所在的目录中的其他页面也可以访问该cookie 39 //如果这个目录下还有子目录,则在子目录中也可以访问 40 //外围的其他目录不允许访问 41 /* 42 /a/1.html 43 /b/2.htm 44 */ 45 //document.cookie("name=wang; path=/a")//表示仅a目录有权访问 46 47 48 49 //获取cookie 50 //alert(document.cookie+‘\n‘+decodeURIComponent(document.cookie)) 51 //alert(typeof document.cookie)//类型为字符串 52 //alert(document.cookie) 53 54 55 //addCookie("uname", "gblw2", 2); 56 alert(getCookie("uname")) 57 58 59 function addCookie(_name, _value, _day){ 60 var d = new Date(); 61 d.setDate(d.getDate()+_day); 62 document.cookie=_name+"="+_value+"; expires="+d.toGMTString(); 63 } 64 65 function getCookie(_name){ 66 // key=value; key2=value; key3=value 67 var str=""; 68 var col=document.cookie.split("; "); 69 for(var i in col){ 70 var arr=col[i].split("="); 71 if(arr[0]==_name){ 72 str=arr[1]; 73 break; 74 } 75 } 76 return str; 77 } 78 79 80 81 82 </script> 83 </head> 84 85 <body> 86 <pre> 87 HTTP是一个客户端和服务器端请求和应答的标准(TCP/IP协议)。客户端是终端用户,服务器端是网站。通过使用Web浏览器,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。 88 89 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 90 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 91 92 93 94 cookie是存于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次访问这个域名时,便使这个cookie可用。因此,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。 95 96 它可以用于以下几种场合: 97 98 (1)保存用户登录状态。例如将用户id存储于一个cookie内,这样当用户下次访问该页面时就不需要重新登录了,现在很多论坛和社区都提供这样的功能。 cookie还可以设置过期时间,当超过时间期限后,cookie就会自动消失。因此,系统往往可以提示用户保持登录状态的时间:常见选项有一个月、三个 月、一年等。 99 100 (2)跟踪用户行为。例如一个天气预报网站,能够根据用户选择的地区显示当地的天气情况。如果每次都需要选择所在地是烦琐的,当利用了 cookie后就会显得很人性化了,系统能够记住上一次访问的地区,当下次再打开该页面时,它就会自动显示上次用户所在地区的天气情况。因为一切都是在后 台完成,所以这样的页面就像为某个用户所定制的一样,使用起来非常方便。 101 102 (3)定制页面。如果网站提供了换肤或更换布局的功能,那么可以使用cookie来记录用户的选项,例如:背景色、分辨率等。当用户下次访问时,仍然可以保存上一次访问的界面风格。 103 104 (4)创建购物车。正如在前面的例子中使用cookie来记录用户需要购买的商品一样,在结账的时候可以统一提交。例如淘宝网就使用cookie记录了用户曾经浏览过的商品,方便随时进行比较。 105 106 107 cookie的缺点主要集中于安全性和隐私保护。主要包括以下几种: 108 109 (1)cookie可能被禁用。当用户非常注重个人隐私保护时,他很可能禁用浏览器的cookie功能; 110 (2)cookie是与浏览器相关的。这意味着即使访问的是同一个页面,不同浏览器之间所保存的cookie也是不能互相访问的; 111 (3)cookie可能被删除。因为每个cookie都是硬盘上的一个文件,因此很有可能被用户删除; 112 (4)cookie安全性不够高。所有的cookie都是以纯文本的形式记录于文件中,因此如果要保存用户名密码等信息时,最好事先经过加密处理。 113 </pre> 114 </body> 115 </html>
以上是关于cookie的主要内容,如果未能解决你的问题,请参考以下文章