常见的浏览器端的存储技术:cookie

工作原理:
    cookie是存在用户硬盘中,用户每次访问站点时,Web应用程序都可以读取Cookie包含的信息。当用户再次访问这个站点时,浏览器就会在本地硬盘上查找与该 URL 相关联的 Cookie。如果该Cookie存在,浏览器就将它加到requestheader的Cookie字段中,与http请求一起发送到该站点。(cookie是存于用户硬盘的一个文件,这个文件通常对应于一个域名,也就是说,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。)
1.优点:兼容性好
        分担了服务器存储的负担
        极高的扩展性和可用性
            1.通过良好的编程,控制保存在cookie中的session对象的大小。
            2.通过加密和安全传输技术(SSL(Secure Sockets Layer 安全套接层)),减少cookie被破解的可能性。
            3.只在cookie中存放不敏感数据,即使被盗也不会有重大损失。
            4.控制cookie的生命期,使之不会永远有效。偷盗者很可能拿到一个过期的cookie。
2.缺点:(流量)增加了网络流量;
       (大小限制)每个特定的域名下最多生成20个cookie。数据容量有限,最多只能存储4KB的数据,浏览器之间各有不同;
       (安全性)不安全;
        
浏览器提供了 cookie 属性给 JavaScript,因此可以通过 document.cookie 来访问这个页面中的cookie

获取cookie:var res = document.cookie;
设置cookie: document.cookie = "name=Jack; age=20; sex=男";(每一对cookie值与相邻的cookie值之间都会有一个分号和空格)

cookie的期限:expires  expires的值的格式是toUTCString()后的格式

可以修改原cookie的expires、secure属性,但不能修改domain、path属性。修改cookie时domain、path必须与原cookie保持一致。

secure是 cookie 的安全标志,通过cookie直接包含一个secure单词来指定,也是cookie中唯一一个非名值对儿的部分。指定后,cookie只有在使用SSL连接(如HTTPS请求)时才会发送到服务器。不指定时,不论是 http 请求还是 https 请求,均会发送cookie。

存储在cookie的数据每次都会被浏览器自动放在http请求中。因此,如果这些数据不是每次都要发给服务器的话,这样做一定会增加网络流量。

 

原文地址:https://www.cnblogs.com/yaoyuqian/p/8052101.html