Cookie

作者: 静静地就好 | 来源:发表于2019-12-09 00:23 被阅读0次

    一、Cookie管理:允许获取,设置和删除cookie。Cookies是存储在浏览器中的小片段信息,并随每个后续请求一起发送回服务器,以便在请求之间存储有用的信息。

    1、设置cookie:

    图1 设置cookie

    2、获取cookie:

    图2 获取cookie

    3、删除cookie:

    图3 删除cookie

    二、 Cookie 和 Session

    1、HTTP 是无状态协议:ta无法根据之前的状态进行本次的请求处理,可以减少服务器的 CPU 和内存消耗。所以,如果仅用 HTTP 来标识请求的话,服务器是无法知道是谁在访问的。比如,大家都在访问淘宝的网站,你登录淘宝下了一个订单,我也登录淘宝下了一个订单,那么服务器是不知道哪个订单是来自哪个用户下的。因此,我们需要用某种技术来标识当前的请求是谁发送的。目前, Cookie 和 Session 技术就用来记录访问者的一些基本信息

    2、 Cookie的使用:首先,ta会根据从服务端发送的响应报文中的一个叫 Set-Cookie 的字段,通知客户端本地保存 Cookie;当下次再往该服务器发送请求时,客户端就自动在请求报文中加入 Cookie 值后再发送出去;服务器发现客服端发送过来的 Cookie 后,会去检查究竟是从哪个客户端发来的请求,然后对比服务器上的记录,最后得到之前的状态信息;

    3、 Session的使用:首先,当程序需要为某个客户端的请求创建一个 Session时(一般是登录或者需要标识身份的时候),服务器首先检查这个客户端的请求里是否包含 Session id;如果包含,说明以前已为此客户端创建过 Session,服务器就按照这个 Session id 把 Session 搜索出来使用,如果搜索不到,就会新建一个;如果客户端请求不包含 Session id,就会为此客户端创建一个 Session 并且生成一个与此 Session 相关联的Session id,在本次响应中返回给客户端保存;当客户端再次发送请求的时候,就会将这个 Session id 带上,服务器接受到请求之后,就会根据 Session id 找到相应的 Session,从而再次使用。

    4、Cookie 和 Session的区别:

    4.1、Cookie 保存的数据在客户端,Session 存储在服务器的缓存中;

    4.2、Session 的主要数据都保存在服务端,所以更安全;

    4.3、Session 过多会增加服务器的压力,因为Session 存储在服务器中;

    4.4、Cookie 有大小限制,浏览器存 Cookie 的个数也有限制,但是,Session 没有大小限制,它和服务器的内存大小有关;

    4.5、Cookie 如果设置了过期时间,会写入磁盘,未到过期时间,则可以一直保存在客户端磁盘,但是,Session 在用户会话结束或者过了过期时间后就会关闭。

    相关文章

      网友评论

          本文标题:Cookie

          本文链接:https://www.haomeiwen.com/subject/atmvgctx.html