`
为了明天
  • 浏览: 114617 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HTTP Cookie

 
阅读更多
分类

Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie。

内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的。硬盘Cookie保存在硬盘里,有一个过期时间,除非用户手工清理或到了过期时间,硬盘Cookie不会被删除,其存在时间是长期的。所以,按存在时间,可分为非持久Cookie和持久Cookie。


用途

因为HTTP协议是无状态的,即服务器不知道用户上一次做了什么,这严重阻碍了交互式Web应用程序的实现。在典型的网上购物场景中,用户浏览了几个页面,买了一盒饼干和两瓶饮料。最后结帐时,由于HTTP的无状态性,不通过额外的手段,服务器并不知道用户到底买了什么。 所以Cookie就是用来绕开HTTP的无状态性的“额外手段”之一。服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。 在刚才的购物场景中,当用户选购了第一项商品,服务器在向用户发送网页的同时,还发送了一段Cookie,记录着那项商品的信息。当用户访问另一个页面,浏览器会把Cookie发送给服务器,于是服务器知道他之前选购了什么。用户继续选购饮料,服务器就在原来那段Cookie里追加新的商品信息。结帐时,服务器读取发送来的Cookie就行了。 Cookie另一个典型的应用是当登录一个网站时,网站往往会请求用户输入用户名和密码,并且用户可以勾选“下次自动登录”。如果勾选了,那么下次访问同一网站时,用户会发现没输入用户名和密码就已经登录了。这正是因为前一次登录时,服务器发送了包含登录凭据(用户名加密码的某种加密形式)的Cookie到用户的硬盘上。第二次登录时,(如果该Cookie尚未到期)浏览器会发送该Cookie,服务器验证凭据,于是不必输入用户名和密码就让用户登录了。




分享到:
评论

相关推荐

    HTTP cookie.doc

    HTTP Cookie 是一种在互联网上广泛使用的机制,用于在用户与网站之间存储和检索信息。它是由Web服务器发送到用户浏览器的一小段文本数据,并在后续的请求中由浏览器返回给同一服务器,以此来维持会话状态、记录用户...

    asp.net中httpcookie 的使用和简单计数器

    在ASP.NET中,HTTPCookie是实现客户端状态管理的关键机制之一,它允许服务器将少量的数据存储在客户端的硬盘上,从而实现跨页面请求的信息共享。本文将深入探讨ASP.NET中HTTPCookie的使用方法以及如何构建一个基于...

    HTTP Cookie 协议管理标准分析以及结构实现

    ### HTTP Cookie 协议管理标准分析以及结构实现 #### 基本原理及作用 Cookie是一种小型的数据存储机制,主要用于在网络应用中维护用户的会话状态。它被广泛应用于Web开发中,通过允许服务器存储少量信息到客户端...

    HttpCookie类的应用

    在ASP.NET开发中,HttpCookie类是用于处理和管理客户端cookies的重要工具。它允许开发者存储和检索用户在浏览器端的数据,实现用户会话状态管理、个性化设置保存以及身份验证等功能。下面将详细介绍HttpCookie类的...

    使用Flash Cookie技术在客户端永久保存HTTP Cookie

    但是我们知道在客户端Cookie里保存数据是不稳 定的,因为用户可能随时会清除掉浏览器的Cookie,在这种情况下,一般的解决方案是重新向服务器端发送一个请求,以获得一个新的HTTP Cookie数据,并将其保存--就一般的...

    Web应用安全:HTTPCookie的缺点.pptx

    Web应用安全:关注HTTPCookie的缺点 在Web应用程序中,HTTPCookie被广泛用于会话管理,但是不恰当的使用方式可能会引入严重的安全风险。本文将深入探讨Cookie的两大安全隐患类别:用途不当和输出方法不当,并提供...

    lua-resty-cookie:用于OpenRestyngx_lua的HTTP cookie操作的Lua库

    lua-resty-cookie-该库解析Nginx的HTTP Cookie头,并返回cookie中的每个字段。 目录 地位 该库已准备就绪。 概要 lua_package_path " /path/to/lua-resty-cookie/lib/?.lua;; " ; server { location / test { ...

    Cookie将用户名和密码加密后存在客户端的Cookie当中

    HttpCookie UserCookie = Request.Cookies["UserCookie"]; HttpCookie PwdCookie = Request.Cookies["PwdCookie"]; ``` 这段代码用于获取已存在的`UserCookie`和`PwdCookie`对象。如果它们不存在,则需要创建新的...

    EditThisCookie.crx cookie编辑导入导出利器

    当你选择导出为这种格式时,你可以在命令行工具curl中直接使用这些Cookie,这对于需要在无浏览器环境中模拟用户登录或者其他需要携带Cookie的HTTP请求时,提供了极大的便利。 curl是一个强大的命令行工具,用于传输...

    FlashCookie 不被浏览器清除的Cookie

    不同于传统的HTTP Cookie,这些数据存储在用户的计算机上,不受浏览器的隐私设置或清除浏览器缓存操作的影响,因此被称为“不被浏览器清除的Cookie”。 在Web开发中,Cookie通常用于跟踪用户会话、存储用户偏好或者...

    C#cookie实现历史记录

    - 设置Cookie的名称和值,例如:`HttpCookie myCookie = new HttpCookie("myCookieName", "myCookieValue");` - 可以设置其他属性,如过期时间:`myCookie.Expires = DateTime.Now.AddDays(1);` 这将使Cookie在一...

    详解HTTP Cookie状态管理机制

    HTTP Cookie是一种用于在客户端和服务器之间存储和管理状态信息的技术,最早由网景公司的Lou Montulli在1993年发明,以解决HTTP协议无状态的问题。HTTP本身不保存任何关于用户会话的信息,因此当用户在网站上进行多...

    C#.net与vb.net中读写Cookie的方法

    HttpCookie aCookie = new HttpCookie("lastVisit"); aCookie.Value = DateTime.Now.ToString(); aCookie.Expires = DateTime.Now.AddDays(1); Response.Cookies.Add(aCookie); ``` 这种方式同样创建了一个`...

    根据http获取cookie内容代码

    本文将深入探讨如何根据HTTP获取cookie内容,主要针对C++编程环境,以VS2019为例,同时结合提供的示例代码进行解析。 首先,我们来理解HTTP协议的基本概念。HTTP(超文本传输协议)是一种应用层协议,用于从Web...

    cookie接口 实现本地或客户端的cookie的创建和读取

    Cookie接口在Java的`javax.servlet.http.Cookie`包中定义,它提供了对HTTP Cookie的抽象表示。Cookie接口允许开发人员创建、修改和删除浏览器中的Cookie。它的关键方法包括`getName()`(获取Cookie的名称)、`...

    添加、修改、删除cookie

    在方法内部,我们首先创建一个新的`HttpCookie`对象,然后设置它的`Expires`属性为当前时间加上指定的天数,这决定了Cookie的生命周期。接着,我们将`strValue`赋值给`HttpCookie`的`Value`属性。最后,通过`System....

    Net Cookie操作读取数据

    HttpCookie cookie = new HttpCookie("myCookie"); cookie.Value = "这是Cookie的值"; cookie.Expires = DateTime.Now.AddDays(1); // 设置有效期为1天 ``` 三、添加Cookie到响应 创建好Cookie后,将其添加到...

    asp.net Cookie的应用于购物车

    HttpCookie cartCookie = new HttpCookie("ShoppingCart"); cartCookie.Values.Add("Product1", "1"); cartCookie.Values.Add("Product2", "2"); // 设置过期时间等其他属性 Response.Cookies.Add(cartCookie);...

    Cookie操作帮助类

    HttpCookie myCookie = new HttpCookie("myCookie"); myCookie.Value = "Hello, World!"; myCookie.Expires = DateTime.Now.AddDays(1); // 设置有效期为1天 ``` 然而,实际项目中,为了代码的可维护性和复用性,...

Global site tag (gtag.js) - Google Analytics