Cookies
简介
Cookies是会话跟踪技术的一种,通过将数据保存到客户端的浏览器上以此来达到会话间共享数据的效果。
从打开浏览器开始访问页面直到关闭浏览器断开连接算作一次会话(Session),一次会话中可以包含多次请求-响应。每次的请求响应都是无状态的,意味着服务器不能通过这一次请求得道上一次请求发生了什么。
Cookies实现原理:
- 浏览器向服务器发送请求->服务器响应请求(携带set-cookies响应头)
2.浏览器再次向服务器发送请求时,会在请求头携带当前浏览器的cookies信息。
Cookies优缺点:
优点:HTTP协议默认支持
缺点:1.不能进行跨域 2.Cookies始终为不安全的数据,用户可以禁用Cookies 3.移动端不可用
java实现
通过HttpServletResponse、HttpServletRequest获取响应/请求信息,在响应信息中设立cookies,在请求信息中获取浏览器所有的cookies。
@RestController
public class SessionController {@GetMapping("/setCookies")public String setCookies(HttpServletResponse response){response.addCookie(new Cookie("name","yi"));return "ok";}@GetMapping("/getCookies")public String getCookies(HttpServletRequest request){Cookie[] cookies = request.getCookies();for(Cookie cookie:cookies){System.out.println(cookie.getName()+":"+cookie.getValue());}return "ok";}
}
Cookies
简介
Cookies是会话跟踪技术的一种,通过将数据保存到客户端的浏览器上以此来达到会话间共享数据的效果。
从打开浏览器开始访问页面直到关闭浏览器断开连接算作一次会话(Session),一次会话中可以包含多次请求-响应。每次的请求响应都是无状态的,意味着服务器不能通过这一次请求得道上一次请求发生了什么。
Cookies实现原理:
- 浏览器向服务器发送请求->服务器响应请求(携带set-cookies响应头)
2.浏览器再次向服务器发送请求时,会在请求头携带当前浏览器的cookies信息。
Cookies优缺点:
优点:HTTP协议默认支持
缺点:1.不能进行跨域 2.Cookies始终为不安全的数据,用户可以禁用Cookies 3.移动端不可用
java实现
通过HttpServletResponse、HttpServletRequest获取响应/请求信息,在响应信息中设立cookies,在请求信息中获取浏览器所有的cookies。
@RestController
public class SessionController {@GetMapping("/setCookies")public String setCookies(HttpServletResponse response){response.addCookie(new Cookie("name","yi"));return "ok";}@GetMapping("/getCookies")public String getCookies(HttpServletRequest request){Cookie[] cookies = request.getCookies();for(Cookie cookie:cookies){System.out.println(cookie.getName()+":"+cookie.getValue());}return "ok";}
}