session 与 cookie

cookie:

  由服务器产生,在发送给客户端保存,相当于本地缓存(提高了访问服务端的效率,但是安全性较差)

1)在服务端产生cookie:

response.addCookie(Cookie cookie)

2)发送通过页面跳转(重定向、请求转发)

3)获取:

Cookie[]  cookies = request.getCookies()   //只能获取全部 没有单独获取某个cookie的方法(所以是多用户浏览器共享)

session机制:

  seesion是JSP的内置对象之一

  当客户端第一次请求服务端的时候,会产生一个session,内有一个sessionID,复制给一个 name = JSESSIONID的cookie,在服务端响应客户端的时候,将该cookie发送给客户端。

比较:

当客户端禁止cookie,如何继续使用session:

方式一: url重写,把sessionID作为参数追加到原url中,后续的浏览器与服务器交互中携带sessionID参数

方式二: 服务器的返回数据中包含sessionID, 浏览器发送请求时,携带sessinID参数。

方式三: 通过http协议其他header字段,服务器每次返回时设置该header字段信息,浏览器中js读取该header字段,请求服务器时,js设置携带该header字段。

原文地址:https://www.cnblogs.com/DDiamondd/p/11343643.html