首页 > 其他分享 >Cookie

Cookie

时间:2023-03-10 17:47:56浏览次数:31  
标签:cookies resp req cookie Cookie 客户端

会话:用户打开一个浏览器,点击很多超链接,访问多个web资源,关闭浏览器,这个过程称为会话。

一个网站,怎么证明你来过?

客户端和服务端

1.服务端给客户端-一个信件,客户端下次访问服务端带上信件就可以了: cookle
2.服务器登记你来过了,下次你来的时候我来匹配你: seesion
7.2、保存会话的两种技术
cookie
●客户端技术 (响应,请求)
session
●服务器技术.利用这个技术,可以保存用户的会话信息?我们可以把信息或者数据放在Session中!

常见:网站登录时的免密登录

Cookie
1.从请求中拿到cookie信息
2.服务器响应给客户端cookie
(1)Cookie[] cookies = req. getCookies(); //获得Cookie
(2)cookie. getName(); //获得cookie中的key
(3)cookie. getvalue(); //获得cookie中的vlaue
(4)new Cookie("lastLogintime", system. currentTimeMillis()+""); //新建个cookie

cookie:一般会保在本地的用户目录下appdata;
一个网站cookie是否存在上限:
●一个Cookie只能保存一 个信息;
●一个web站点可以给浏览器发送多个cookie,最多存放20个cookie;
●Cookie大小有限制4kb; .
●300个cookie浏览器上限

删除Cookie
●不设置有效期,关闭浏览器,自动失效;
●设置有效期时间为0 :

//保存用户上一次访问的时间
public class CookieDemo01 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//解决乱码
req.setCharacterEncoding("utf-16");
resp.setCharacterEncoding("utf-16");
PrintWriter out = resp.getWriter();
//Cookie,服务器从客户端获取
Cookie[] cookies = req.getCookies();//这里返回数组,Cookie可能有多个
//判断Cookie是否存在
if(cookies!=null){
out.write("你上一次访问的时间是:");
for (int i = 0; i < cookies.length; i++) {
//获取Cookie的名字
Cookie cookie = cookies[i];
if (cookie.getName().equals("lastLoginTime")){
//获取Cookie的值
long lastLoginTime = Long.parseLong(cookie.getValue());
Date date = new Date(lastLoginTime);
out.write(date.toLocaleString());
}
}
}else{
out.write("这是你第一次访问本站。");
}
//服务器给客户端响应一个Cookie
Cookie cookie = new Cookie("lastLoginTime",System.currentTimeMillis()+"");
//设置Cookie的有效期
cookie.setMaxAge(24*60*60);
resp.addCookie(cookie);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
public class CookieDemo02 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//创建一个cookie,名字必须和删除的名字一致
Cookie cookie = new Cookie("lastLoginTime",System.currentTimeMillis()+"");
cookie.setMaxAge(0);
resp.addCookie(cookie);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}

标签:cookies,resp,req,cookie,Cookie,客户端
From: https://www.cnblogs.com/panglinglong/p/17204227.html

相关文章

  • Cookie前端优化
    cookie由于http请求每次都是独立的,它的执行情况和结果与前面的请求、之后的请求没有直接关系,没有办法区分当前客户,所以产生了cookie。使特定客户端与服务器产生联系cooki......
  • Cookie Session
    Cookie1,Cookie实际上是一小段的文本信息客户端请求服务如果服务器需要记录该用户状态就想客户端浏览器颁发一个Cookie2,客户端浏览器会把Cookie保存起来当浏......
  • Token存放在cookie、localStorage/sessionStorage的区别
    首先解释下TokenToken其实就是访问资源的凭证;Token——普遍情况下是用户通过用户名和密码登录成功之后,服务器将登录凭证做数字签名,加密之后得到的字符串。 用户登陆......
  • 一篇搞懂cookie和session
    一篇搞懂cookie和sessioncookie、session和token存在的意义是什么?http是无状态的,每次请求是独立的,服务端不保存会话信息,所以他的好处也就是快,但缺点也显而易见,就是无法......
  • Python爬虫系列之Session和cookie的使用
    对于经常做数据采集的技术员来说,常常遇到采集的页面限制我们的访问,尤其在频繁刷新或者访问一个页面时会引起网站的一些列反爬措施。今天我们就来谈谈Session和cookie的......
  • cookie和session的区别
     会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服......
  • document cookie
    cookieexpires最大不超过400天:https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis   ......
  • Cookie 和 Session
    会话跟踪会话跟踪是Web程序中用于跟踪用户整个会话的技术,常用的会话跟踪技术是Cookie和Session。Cookie通过在客户端记录确定用户身份信息,Session通过在服务器端记录确定......
  • 孤狼老师-cookies使用和处理
          Cookie获取:例子,运行自己搭建的网站:    登录接口:  获取到cookies,完整的cookies直接返回:  GET方法使用cookie:   POST方法......
  • Day 13 13.3 Cookie与Session
    Cookie一、什么是cookie?cookie的本质就是一组数据(键值对的形式存在)是由服务器创建,返回给客户端,最终会保存在客户端浏览器中。如果客户端保存了cookie,则下次再次访问该......