zoukankan      html  css  js  c++  java
  • 深入了解Cookie

    1.Cookie是什么

    1.由于http是无状态的协议,一旦客户端和服务器的数据交换完毕,就会断开连接,再次请求,会重新连接,无法存储数据。
    2.Cookie的出现是为了下次链接时,你之前存储了哪些数据。
    3.其实Cookie是一个很小的文本文件,是浏览器储存在用户的机器上的。Cookie是纯文本,没有可执行代码。
    储存一些服务器需要的信息,每次请求站点,会发送相应的cookie到服务端。

     2.cookie生命周期

    1.会话cookie:用户退出浏览器,会话Cookie就会被删除了
    2.持久cookie:则会储存在硬盘里,保留时间更长,关闭浏览器,重启电脑,它依然存在。当时间大于Expires的时间,才会消失。

                //会话cookie
                Response.Cookies.Add(new HttpCookie("name")
                {
                    Value = "wolf"
                });
                //持久cookie
                Response.Cookies.Add(new HttpCookie("name1")
                {
                    Value = "wolf",
                    Expires = DateTime.Now.AddHours(1)
                });

    3.cookie属性

    1.Secure
    secure属性用来指定Cookie只能在加密协议HTTPS下发送到服务器。但是这并不表示100%安全。
    2.Domain

    domain属性指定 Cookie 所在的域名,比如example.com或.example.com(这种写法将对所有子域名生效)、subdomain.example.com。
    如果未指定,默认为设定该Cookie的域名。所指定的域名必须是当前发送Cookie的域名的一部分,比如当前访问的域名是example.com,就不能将其设为google.com。
    只有访问的域名匹配 domain 属性,Cookie 才会发送到服务器。

    3.Path

    path属性用来指定路径,必须是绝对路径(比如/、/mydir),如果未指定,默认为请求该 Cookie 的网页路径。
    只有path属性匹配向服务器发送的路径,Cookie 才会发送。这里的匹配不是绝对匹配,而是从根路径开始,
    只要path属性匹配发送路径的一部分,就可以发送。比如,path属性等于/blog,则发送路径是/blog或者/blog/roll,Cookie都会发送。
    path属性生效的前提是domain属性匹配。

            public ActionResult EFTest()
            {
                //http://localhost:55924/Test/eftest 可以访问
                //http://localhost:55924/ 无法访问
                Response.Cookies.Add(new HttpCookie("name1")
                {
                    Value = "wolf",
                    Expires = DateTime.Now.AddHours(1),
                    Path = "/Test/",
                });
                return View();
            }

    4.HttpOnly

    HttpOnly属性用于设置该Cookie不能被JavaScript读取

     

  • 相关阅读:
    每天进步一小点
    C# 类
    XML JavaScript
    基础XML
    多态,重载,重写
    数据结构
    sql server规范
    .net core 使用TimeZoneInfo类的时间与时间戳转换
    git 重命名文件与文件夹
    IDEA spring boot 开启热加载
  • 原文地址:https://www.cnblogs.com/lgxlsm/p/8034161.html
Copyright © 2011-2022 走看看