zoukankan      html  css  js  c++  java
  • Cookie

    cookie设计理念有些开发者借助请求中的ip头部来唯一标识发出此次请求的客户端,但是这种方式存在很多问题,因为只有在http中请求中携带的信息才能用来标识客户端,所以在请求中必须包含某种可以用来标识客户端唯一身份的信息。Cookie设计出来就是用来解决这一问题的。

    cookies理解其实本质上cookies就是http的一个扩展。http头部是专门负责设置以及发送cookie的是:Set-Cookie以及Cookie
    当服务器返回给客户端一个http响应信息时,其中如果包含Set-Cookie这个头部时,意思就是指示客户端建立一个cookie,并且在后续的http请求中自动发送这个cookie到服务器端,直到这个cookie过期。

    cookie的存储两种方式
    1.如果cookie的生存时间是整个会话期间的话,那么浏览器会将cookie保存在内存中,浏览器关闭时就会自动清除这个cookie。
    2.另外一种情况就是保存在客户端的硬盘中,浏览器关闭的话,该cookie也不会被清除,下次打开浏览器访问对应网站时,这个cookie就会自动再次发送到服务器端。


    一个cookie的设置以及发送过程分为以下四步:

    客户端发送一个http请求到服务器端

    服务器端发送一个http响应到客户端,其中包含Set-Cookie头部

    客户端发送一个http请求到服务器端,其中包含Cookie头部

    服务器端发送一个http响应到客户端

    这个通讯过程也可以用以下下示意图来描述:

    你必须了解的Session的本质

    在客户端的第二次请求中包含的Cookie头部中,提供给了服务器端可以用来唯一标识客户端身份的信息






    cookie参数详解
    每一条cookie都需要有Set-Cookie头来设置,向浏览器保存两条cookie数据

    path,domain    cookie的作用域,表示cookie对哪个网站有效,因为一个网站只能设置自己的cookie不能设置别的网站的cookie,否则会有安全上的问题

    expires    cookie的超时时间



    把应答里面设置的cookie发回给服务器


    HttpOnly  禁止脚本访问,出于安全考虑,不允许脚本修改cookie


    cookie用途

    登录保存密码:其实是把让浏览器把cookie写到文件系统中,下次凭借着cookie就可以直接的登录
    购物车 :没有登录也能添加商品到购物车    

    cookie总结:
    cookie是服务器生成,并且服务器来解释

    保存有非常重要的信息
    Cookies最典型的应用是判定注册用户是否已经登录网站




















  • 相关阅读:
    简单实现vue列表点击某个高亮显示
    vue中子组件直接修改父组件prop属性bug
    Java基础——关于接口和抽象类的几道练习题
    Eclipse中导入外部jar包步骤
    Java基础——关于jar包的知识
    Java基础——关于访问权限的一道例题
    Java基础——抽象类和接口
    Java基础——多态
    Java基础——继承
    三个案例,解读静态代码块和构造代码块
  • 原文地址:https://www.cnblogs.com/wuqingzangyue/p/5749795.html
Copyright © 2011-2022 走看看