什么是cookie

Cookie 的本职工作并非本地存储,而是“维持状态”。因为HTTP协议是无状态的,HTTP协议自身不对请求和响应之间的通信状态进行保存,通俗来说,服务器不知道用户上一次做了什么,这严重阻碍了交互式Web应用程序的实现。

我们可以把Cookie 理解为一个存储在浏览器里的一个小小的文本文件,它附着在 HTTP 请求上,在浏览器和服务器之间“飞来飞去”。它可以携带用户信息,当服务器检查 Cookie 的时候,便可以获取到客户端的状态。

通过cookie,可以让服务器知道请求是来源哪个客户端,就可以进行客户端状态的维护,比如登陆后刷新,请求头就会携带登陆时response header中的set-cookie,Web服务器接到请求时也能读出cookie的值,根据cookie值的内容就可以判断和恢复一些用户的信息状态。
在这里插入图片描述
第一次访问网站的时候,浏览器发出请求,服务器响应请求后,会在响应头里面添加一个Set-Cookie选项,将cookie放入到响应请求中,在浏览器第二次发请求的时候,会通过Cookie请求头部将Cookie信息发送给服务器,服务端会辨别用户身份,另外,Cookie的过期时间、域、路径、有效期、适用站点都可以根据需要来指定。

生成方式一:http response header中的set-cookie
生成方式二:js中可以通过document.cookie可以读写cookie,以键值对的形式展示

Cookies是指很多服务器网站为了辨认用户身份二存储在客户端的本地数据,如果是敏感数据,通常需要经过加密。

Cookies实现一种客户端与服务端进行简单信息交互的方式。由于HTTP是无状态的协议,服务区不知道用户上次的行为。在典型的网上购物场景,用户会浏览多个页面,购买不同商品,但由于HTTP的无状态性,不采取其他手段,服务器因不知道用户买了什么商品而无法结账。Cookies可用于弥补HTTP的无状态性,服务器通过设置或读取Cookies中包含的信息,维持客户端与服务器的会话状态。当客户选购了某项商品后,服务器在向用户发送网页的同时,还发送记录该项商品的Cookie信息。用户继续访问其他页面,客户端浏览器会将Cookies发送给服务器,服务器就知道该客户选购的商品了。

Cookies的另一个典型应用就是保存用户的登录信息。当用户输入用户名和密码登录一个网站时,如果用户勾选“下次自动登录”,下次就能记住账号密码,这是因为上次登录时,服务器以Cookies形式发送用户的登录凭据到客户端并保存在硬盘上。以后登录时,服务器通过验证登录凭据,就可以让用户直接登录。有些网站可以设置Cookies的过期时间。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值