初稿之前写过一篇关于Cookie的文章,但是当时理解的不是很深,会有一些不明白的地方。今天再写一遍,blog也是我的学习笔记。Cookie是服务器发送给用户浏览器并存储在本地的一小段数据。下次浏览器再次向同一服务器发出请求时,它会被携带并发送给服务器。通常,它用于告诉服务器两个请求是否来自同一个浏览器,例如保持用户登录状态。Cookie使得基于无状态HTTP协议记录稳定状态信息成为可能。如何设置cookiecookie的设置是在服务器端操作的。当用户访问服务器时,服务器响应response.setHeader('Cookie','Max-Age=')//设置过期时间cookie的特点cookie默认是什么时候过期用户关闭,但服务器可以设置cookies的使用时间和cookies的过期时间。可以设置HttpOnly,防止用户通过JS操作cookies。减轻XSS攻击。标记为Secure的Cookie只能通过HTTPS协议加密的请求发送到服务器。cookie的缺陷如上文cookie的特征2、3所述。Cookies是不安全的,因为如果cookies中包含了重要的信息被记录或篡改,用户的账号是可以被操作的,所以为了改善这个问题,我们需要用到下面提到的SessionCookie总结。1、服务端通过Set-Cookieheader给客户端一串字符串。2、客户端每次访问同一个域名的网页都要带上这个字符串。3.客户端终端应该保存这个cookie一段时间4。当用户关闭它时,cookie默认过期。后台可以设置cookie的生命周期。5.您可以在控制台的应用程序中强制删除cookie,是一种通过使用cookie来识别用户来解决秘密信息泄露的方法,并且因为它实现了操作的中断和继续,所以被称为'session'Session。服务器使用cookie给用户一个SessionId,SessionId对应服务器中的一小块内存,这块内存存放了用户的保密信息。用户每次访问服务器,服务期通过SessionId读取对应的内存,从而知道用户的保密信息。Session的缺陷从上面可以看出,Session最大的缺陷就是对session占用服务器内存的总结1.通过cookie将SessionId(一般是随机数)发送给客户端2.当客户端访问server,服务器读取SessionId3,服务器有一块内存(对象)保存所有的Session4,打败SessionId,我们可以得到对应用户的隐私信息,比如id,email5,这块内存(hash)是服务器上的会话会话。前端拿到response转成对象,将SessionId保存在LocalStorage中,页面跳转登录后,将SessionId写入查询参数,后台通过查询参数知道当前的SessionId,然后使用SessionId在SessionInformation中查找用户的IDSession和Cookie的区别从上面的内容可以看出。Session和Cookie有很大的区别。首先,Cookie是HTTP协议的一部分,Session是一个抽象概念。然后Session保存在服务器的内存中,Cookie保存在本地,最后的Session一般依赖于Cookie。SessionId通过Cookie发送给客户端。如何使用用户设置localStorage.setItem('a','1')用户如何获取存储的对象Pages可以读取彼此的LocalStorage(不像同源那么严格)。每个域名的LocalStorage最大存储容量约为5M(由浏览器决定)。常见场景:记录是否提示过用户(无用信息,不能记录密码)LocalStorage存储的信息一直有效,除非用户如上清除SessionStorage与LocalStorage1、2、3、4的区别,但SessionStorage变为用户关闭页面后无效。从上面也可以看出LocalStorage和Cookie的区别。LocalStorage不会按照HTTP发送给ServerLocalStorage的大小限制大于Cookie(4K)。LocalStorage之所以存在,是因为历史问题。以前所有的信息都放在Cookie里面,但是每次请求都要带上Cookie,所以会上传很多无用的东西,影响速度,所以作为前端不要去读写cookie。想说的是正式学习前端快三个月了。总觉得自己学的不够,很垃圾。幸运的是,我能感觉到我有东西要学。所以,在我还没有学完的那一刻,我不会停下来,加油