Cookie

作者: 一块大番薯 | 来源:发表于2018-03-20 10:22 被阅读2次

    HTTP 协议是无状态的,目的是减少 CPU 内存消耗,让 HTTP 协议尽可能简单,能够处理大量事务。
    HTTP/1.1 引入 Cookie 来保存状态信息。

    Cookie 是服务器发送给客户端的数据,该数据会被保存在浏览器中。
    在下一次发送请求时,通过 Cookie 让服务器识别出客户端,从而实现保持登录状态等功能。

    1. 创建过程

    服务器响应报文包含 Set-Cookie 字段,客户端解析为 Cookie 保存到浏览器。
    客户端下次请求时,请求报文中包含 Cookie 字段。

    注:
    Cookie,Set-Cookie 和 Content-Disposition 等是RFC中定义的首部字段;
    而请求,响应,通用,实体字段是 HTTP/1.1 首部字段。

    2. Set-Cookie 值
    属性 说明
    name=值 赋予 Cookie 的名称和其值(必需项)
    expires=日期 Cookie 的有效期(若不明确指定则默认为浏览器关闭前为止)
    domain=域名 作为 Cookie 适用对象的域名(若不指定则默认为创建 Cookie 的服务器的域名)
    path=路径 将服务器上的文件目录作为 Cookie 的适用对象(若不指定则默认为文档所在的文件目录)
    Secure 仅在 HTTPS 安全通信时才会发送 Cookie
    HttpOnly 加以限制,使 Cookie 不能被 JavaScript 脚本访问
    3. Session 与 Cookie

    Session 存在于服务器,Cookie 存在于客户端。
    每个 Session 有一个 Session ID,用来唯一标识服务器上的某个 Session。
    Cookie 中有一个键值对——「sid: Session ID」。

    4. 浏览器禁用 Cookie

    对 URL 进行重写,在 URL 后面加上 sid=xxx 。

    5. 实现用户名和密码的自动填写

    网站脚本从浏览器中的 Cookie 读取用户名和密码,从而实现自动填写。

    相关文章

      网友评论

        本文标题:Cookie

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