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最典型的应用是判定注册用户是否已经登录网站




















  • 相关阅读:
    第三方支付集成
    文件并发(日志处理)--队列--Redis+Log4Net
    ReportingServies——SQLServer报表开发综合实例
    C#开发可以可视化操作的windows服务
    4、ASP.NET MVC入门到精通——NHibernate构建一个ASP.NET MVC应用程序
    Lucene.net站内搜索—6、站内搜索第二版
    Lucene.net站内搜索—5、搜索引擎第一版实现
    Lucene.net站内搜索—4、搜索引擎第一版技术储备(简单介绍Log4Net、生产者消费者模式)
    谈谈爱情——祭奠那逝去的青春
    Lucene.net站内搜索—3、最简单搜索引擎代码
  • 原文地址:https://www.cnblogs.com/wuqingzangyue/p/5749795.html
Copyright © 2011-2022 走看看