1.Cookie保存在浏览器中,而session保存在服务器端。 如果说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查服务器上的“客户明细表”来确认客户身份。
2.Session的正常运行需要浏览器的支持,因为Session需要运用Cookie作为识别标志。HTTP是无状态的,Session不能依据HTTP连接来判断是否同一客户,因此服务器向客户端浏览器发送一个名为JSESSIONID的Cookie,它的值为该Session的id Session依据该Cookie来识别是否为同一用户。
3.
Cookie支持跨域名访问,例如将domain属性设置为“.hello.com”,则以“.hello.com”为后缀的所有域名都可以访问该Cookie。Session仅在他所在的域名内有效
4.另外从存取方式上
5.隐私安全上:如果选用Cookie,比较好的方法是,敏感的信息如账号密码等尽量不要写到Cookie。最好像百度 Google 那样对Cookie信息加密,提交到服务器上再解密,保证Cookie中的信息只有自己能够读懂。
6.如果浏览器不支持Cookie,用URL地址重写的方法。URL地址重写的原理是将用户Session的id信息重写到URL地址中。服务器能够解析重写后的URL获取Session的id。
如:<td>
<a href="<%=response.encodeURL("index.jsp?c=1&wd=java")%>">
hemepage
</td>
如果是页面重定向,URL地址重写可以这样写
<%
if("administrator".equals(userName)){
response.sendRedirect(response.encodeRedirectURl("adminstrator.jsp"));
return;
}
%>