web笔记
Cookie
Cookie作什么用?
- 用来搞
天然分布式
(与session相比) - 是服务端用来辨认客户端的
生命周期
Cookie有个Expire值,超过时会清除Cookie,0或负值时退出浏览器就会清除Cookie.
其它
- Cookie大小写敏感
Http Session
这里的讨论基于java servlet
创建时间
- 调用HttpServletRequest.getSession(true)时创建
- 如果JSP没有显示的使用
<%@page session="false"%>
关闭session,则JSP文件在编译成Servlet时将会自动加上这样一条语句HttpSession session=HttpServletRequest.getSession(true);
删除时间
- Session超时(超时指的是服务器没有收到该Session所对应客户端的请求超过了最大时间)
- 程序调用HttpSession.invalidate()
- 服务器关闭或服务停止
存放位置
会话存放在服务端内存中,并可以通过特殊方式做持久化管理(项目更新时可能导致问题)
其它说明
- 访问
html
静态资源因为不会被编译为Servlet也就不涉及session的问题 - 当JSP页面没有显式禁止session的时候,在打开浏览器第一次请求该jsp的时候,服务器会自动为其创建一个session,并赋予其一个session ID,发送给客户端的浏览器。以后客户端接着请求本应用中其他资源的时候,会自动在请求头上添加Cookie:
JSESSIONID=客户端第一次拿到的session ID