Cookie详细介绍

来源:互联网 发布:js跨域修改iframe样式 编辑:程序博客网 时间:2024/05/29 10:08
cookie是一小段文本,伴随着用户请求和页面在服务器和浏览器之间传递
用户请求站点时,获取的不仅仅是html代码,还有一小段cookie(如果有cookie的话)
cookie是和URL关联的
cookie与站点关联,而不是和页面关联,无论请求的是站点里面的哪个页面,cookie


都将在服务器和浏览器之间传递


cookie总是存储在客户端
内存cookie:由浏览器维护,浏览器关闭则过期
硬盘cookie:写到客户端的硬盘里,可以设定过期时间。
问题:cookie可以删除吗?即通过代码删除
典型应用:网购和自动登录




注:设置的cookie在浏览器---工具---Internet选项---设置(S)---查看文件(V)里面


可以找到相应的cookie文件夹,一般不要在这个文件夹里直接查看,因为还会到客户


端请求一下,可以吧文件拷到别的文件中查看
1.使用response.cookies.add(cookie);
2.关闭浏览器cookie文件消失,导致不能重新读取或者根本没有写入到临时文件夹中(


可能有乱码),都可能是浏览器的问题,需要重置浏览器。
3.cookie是和网站相关的。浏览器负责将和你的网站相关的cookie发送到服务器上
4.每次用户点击如服务器端按钮或者采取任何动作触发了回发事件(导致客户端重新去


服务器段请求或者相应服务器端的事件),此网站的相应cookie就会回发到服务器端
5.如果不设置过期时间,cookie就是临时cookie,不会被写到客户端的临时文件夹里(


硬盘),只存在于客户端浏览器维护的内存中,当关闭浏览器,这块内存就会回收,


cookie也被销毁,所以重新打开浏览器就无法读取了。所以设置了过期时间的cookie


(写到硬盘里了),叫做永久cookie
5.各种问题:乱码;没有文件,但是能读能写能关能开;发布之后有乱码,浏览器关


闭cookie文件消失
6.cookie和浏览器相关,IE写的cookie,不能使用其他浏览器来读取
7.使用js时限两个checkbox互斥功能。


例:
前台:
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" Text="读cookie" 
            onclick="Button1_Click" /><br />
        <asp:Button ID="Button2" runat="server" Text="写cookie" 
            onclick="Button2_Click" />
            <br /><asp:TextBox ID="txtCookie" runat="server"></asp:TextBox>
    </div>
    </form>
</body>




后台:
        protected void Button1_Click(object sender, EventArgs e)
        {
            HttpCookie cookie = new HttpCookie("name");
            cookie.Value = "你好啊";
            cookie.Expires = DateTime.Now.AddDays(1);
            Response.Cookies.Add(cookie);
        }


        protected void Button2_Click(object sender, EventArgs e)
        {
             if (Request.Cookies["name"] != null)
            {
                txtCookie.Text = Request.Cookies["name"].Value;
            }
            else
            {
                txtCookie.Text = "亲,你还没有写哟";
            }
        }


效果图:




原创粉丝点击