Cookie 的概念
发布时间:2023-06-30 14:32:48 所属栏目:教程 来源:
导读:本小节依次讲解 Cookie 的概念,并讲解了如何使用 Cookie。
1. 需求的提出
网站常常需要记录访问者的一些基本信息,例如:用户是否登录、用户登录名称、密码、用户在 Web 站点购物的方式或用户访问该站点的次数。
1. 需求的提出
网站常常需要记录访问者的一些基本信息,例如:用户是否登录、用户登录名称、密码、用户在 Web 站点购物的方式或用户访问该站点的次数。
本小节依次讲解 Cookie 的概念,并讲解了如何使用 Cookie。 1. 需求的提出 网站常常需要记录访问者的一些基本信息,例如:用户是否登录、用户登录名称、密码、用户在 Web 站点购物的方式或用户访问该站点的次数。 可以看出,baidu 服务端能够辨别用户的身份,根据用户是否登录显示不同的内容。如果用户的身份是游客,则显示文本登陆;如果用法的身份是已登录用户,则显示用户的名称。 2. 使用 Cookie 辨别用户身份 网站为了辨别用户身份、进行会话跟踪需要把一些数据 (例如:登录状态、用户名称) 储存在用户本地终端上,这些数据被称为 Cookie。 用户登陆 baidu baidu 服务端会生成一个用户 ID baidu 服务端将这个用户 ID 发送给浏览器 浏览器收到这个用户 ID 后,会将这个用户 ID 保存在用户本地终端 浏览器再次访问 baidu 站点时,浏览器会将保存在本地的用户 ID 发给 baidu 服务端 服务端收到浏览器发送的用户 ID 后,就知道此次请求来自于一个已经登陆的用户。在以上的交互过程中,保存在客户端的用户 ID 就被称为 Cookie。 3. 发送 Cookie 的过程 3.1 在服务端发送 Cookie 通过设置 HTTP 的 Set-Cookie 消息头,Web 服务器将 Cookie 发送给浏览器。Set-Cookie 消息的格式如下面所示,括号中的部分都是可选的: Set-Cookie:value [ ;expires=date][ ;domain=domain][ ;path=path][ ;secure] 消息头的第一部分,value 部分,通常是一个 name=value 格式的字符串。 服务端向客户端发送的 HTTP 响应中设置 HTTP 的 Set-Cookie 消息头,一个具体的例子如下: Connection:keep-alive Content-Type:text/plain Date:Fri, 14 Jul 2017 10:49:23 GMT Set-Cookie:user=ZhangSan transfer-encoding:chunked 在这个例子中,服务端向客户端发送的 HTTP 消息头中,设置了 ‘Set-Cookie:user=ZhangSan’,客户端浏览器将接受到字符串 ‘user=ZhangSan’ 作为 Cookie,下次访问网站时,浏览器会将该 Cookie 发送给服务端。 3.2 在客户端发送 Cookie 客户端收到服务端的 Cookie 后,该 Cookie 会在接下来的每个请求中被发送至服务器。Cookie 的值被存储在名为 Cookie 的 HTTP 消息头中,并且只包含了 Cookie 的值,其它的选项全部被去除。 客户端向服务端发送的 HTTP 请求中设置 Cookie 消息头,一个具体的例子如下: Connection:keep-alive Cookie:user=ZhangSan Host:localhost:8080 User-Agent:Mozilla/5.0 AppleWebKit/537.36 Chrome Safari 在这个例子中,客户端向服务端发送的 HTTP 消息头中,设置了 ‘Cookie:user=ZhangSan’,服务端接受到字符串 ‘user=ZhangSan’ 作为 Cookie,从而确认此次请求对应的用户。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |