发布时间:2023-7-13 分类: 行业资讯
今天,我们将做一些简单的“cookies”和“cookies”摘要,以帮助我们更好地与产品设计中的开发兄弟沟通。
Cookie和会话应用于Internet中的基本技术——会话(用户 - 客户端交互)跟踪技术,用于跟踪用户的整个会话。简单地说,cookie通过在客户端上记录信息来确定用户的身份,而会话通过在服务器上记录信息来确定用户的身份。
饼干
定义
Cookie是服务器传递给客户端的小型纯文本文件。客户端请求服务器,如果服务器需要记录用户的状态,它会向客户端浏览器发送cookie。客户端浏览器将保存cookie。当浏览器再次请求代购源码网站时,浏览器将请求的URL连同cookie一起提交给服务器。服务器检查cookie以识别用户的状态。
Cookie机制
Cookie生成(java代码示例):
Cookie Cookie=新Cookie(&ndquo; key”,” value”);
cookie.setMaxAge(60); //将cookie的生命周期设置为60秒
cookie.setPath(“/test”); //设置cookie的路径
使用请求资源的HTTP请求头将cookie发送到服务器,服务器通过相应的方法获取cookie。
Cookie属性
cookie的主要属性包括:名称,值,到期时间,路径和域:
路径与域一起构成了cookie的范围。
到期时间:对于会话cookie,如果未设置到期时间,则表示此cookie的生命周期是在浏览器会话期间。当浏览器窗口关闭时,cookie消失,会话cookie通常存储在内存中。对于持久性cookie,设置过期时间,浏览器将cookie保存在硬盘上,存储在硬盘上的cookie在不同的浏览器进程之间共享。
名称:只需给cookie一个名字。
值:cookie中记录的信息内容。
应用场景
确定注册用户是否已登录代购源码网站:用户可能会在下次进入代购源码网站时提示保留用户信息以简化登录过程。
根据用户的偏好自定义内容:代购源码网站创建包含用户浏览内容的cookie。当用户下次访问时,代购源码网站根据用户的情况调整显示的内容,并将感兴趣的内容放在最前面。
要实现永久登录:如果用户在其家用计算机上上网,他可以在登录时记住他的登录信息。您无需在下次访问时再次登录,即可直接访问。
实施自动登录:当用户注册代购源码网站时,他们会收到一个具有唯一用户ID的cookie。当用户再次连接时,将自动返回用户ID,服务器会检查它以确定它是否是注册用户并选择自动登录,以便用户可以访问服务器上的资源而无需提供明确的用户名和密码。
使用cookie记录每个用户的访问次数:获取cookie数组中用于计算用户访问次数的cookie值,将值加1并输出最新的cookie。
使用cookie记住用户名和用户密码。用户选择“自动登录”,并将用户名和密码信息放入cookie中。同时,可以设置有效期。
使用cookie来实现弹出功能,如新手狂欢。类似地,新手狂欢弹出窗口逻辑被写入cookie并且设置相应的到期日期。例如,弹出窗口在有效期内仅弹出一次,弹出窗口在有效期到期后再次弹出。
会话
定义
会话是另一种记录客户端状态的机制。不同之处在于cookie存储在客户端浏览器中,会话保存在服务器上。当客户端浏览器访问服务器时,服务器以某种形式在服务器上记录客户端信息。这是会议。当客户端浏览器再次访问时,它只需要从会话中查找客户端的状态。该会话等同于服务器上的程序创建的用户文件。当用户访问时,只需要查询用户文件表。
会话生命周期和有效期
为了实现更高的访问速度,服务器通常将会话置于内存中。每个用户都有一个单独的会话。如果会话内容过于复杂,则当大量客户端访问服务器时,会导致内存溢出。虽然会话的使用比cookie更方便,但是在服务器的内存中存储的会话太多,这给服务器带来了压力。因此,会话中的信息应尽可能简洁。
用户首次访问服务器时会自动创建会话。生成会话后,只要用户继续访问,服务器将更新会话的上次访问时间并维护会话。
随着越来越多的用户访问服务器,将会有越来越多的会话。为防止内存溢出,服务器将长时间从内存中删除活动会话。此时间是会话的超时时间。如果服务器的访问时间超过超时时间,则会话将自动过期。
会话和cookie
虽然会话保存在服务器上,但其正常操作仍需要客户端浏览器的支持。这是因为会话需要使用cookie作为识别标记。 HTTP协议是无状态的。会话无法基于HTTP连接确定它是否是同一客户端。因此,服务器将名为SESSIONID的cookie发送到客户端浏览器,其值是会话的ID。会话基于cookie识别同一用户。
对于不支持cookie的移动浏览器,还有另一种解决方案:URL地址重写。 URL地址重写的原则是将用户会话的id信息重写为URL地址,服务器可以解析重写的URL以获得会话的id。这样,即使客户端不支持cookie,您也可以使用会话来记录用户状态。
应用场景
通过会话累积用户数据。例如,未注册的用户访问了京东代购源码网站。这时,京东向它发了一个饼干。假设cookie的名称是abc,记录是abc=001,京东的背景也生成会话ID。该值也是001,001。客户在2,3和4处向购物车添加了三个项目,以便后台还记录了会话ID为001的用户已经在购物车中有三个项目,并且每次客户端cookie的值包含在会话ID中时,后台都可以显示相应的数据。如果这个时候,cookie在浏览器中被清除,在cookie数据消失后,后台和客户端无法建立对应关系,购物车数据将无效。
通过会话单点登录。用户帐户成功登录后,在会话过期之前,同一帐户无法登录到其他计算机上。登录后,将用户信息保存到会话中。如果此时请求在另一台计算机上的同一帐户登录,则遍历(遍历意味着查看所有会话)Web服务器中的所有会话并确定是否包含该会话。相同的用户信息(如果有)无法登录到另一台计算机上的帐户。
以上是cookie和会话的简单摘要。你学会了吗?
作者:转瞬即逝,互联网产品设计师,4年互联网产品经验。
本文最初由@流年发表。未经许可,禁止复制。
该地图由作者提供