我正在接受Web开发方面的培训,并且正在学习有关JSP和Servlet的知识。我有一些知识HttpSession
-我已经在一些示例项目中使用了它。
在浏览器中,我看到了“删除cookie”的选项。如果我删除cookie,它HttpSession
也会删除。
Cookie和会话是否相同?它们之间有什么区别?
我正在接受Web开发方面的培训,并且正在学习有关JSP和Servlet的知识。我有一些知识HttpSession
-我已经在一些示例项目中使用了它。
在浏览器中,我看到了“删除cookie”的选项。如果我删除cookie,它HttpSession
也会删除。
Cookie和会话是否相同?它们之间有什么区别?
Answers:
会话是包含用户信息的服务器端文件,而Cookie是包含用户信息的客户端文件。会话具有唯一的标识符,可以将它们映射到特定用户。该标识符可以在URL中传递或保存到会话cookie中。
大多数现代站点都使用第二种方法,将标识符保存在Cookie中,而不是将其传递到URL中(这会带来安全风险)。您可能在不知情的情况下使用了这种方法,并且通过删除cookie,可以在删除cookie中包含的唯一会话标识符时有效地擦除它们的匹配会话。
Cookie只是在客户端和服务器之间来回发送的短文本字符串。您可以将其存储name=bob; password=asdfas
在Cookie中,然后将其来回发送以识别服务器端的客户端。您可以将其视为与没有短期记忆的银行出纳员进行交易,并且需要您为每笔交易确定自己的身份。当然,使用cookie来存储此类信息是非常不安全的。Cookie的大小也受到限制。
现在,当银行出纳员知道他/她的记忆问题时,他/她可以在一张纸上写下您的信息,并为您分配一个短ID号。然后,您无需说出每次交易的帐号和驾驶执照,只需说“我是客户12”
将其转换为Web服务器:服务器将把相关信息存储在会话对象中,并创建一个会话ID,它将以Cookie的形式发送回客户端。当客户端发回cookie时,服务器可以简单地使用ID查找会话对象。因此,如果删除cookie,该会话将丢失。
服务器的另一种选择是使用URL重写来交换会话ID。
假设您有一个链接- www.myserver.com/myApp.jsp
您可以浏览该页面并将每个URL重写为www.myserver.com/myApp.jsp?sessionID=asdf
,甚至www.myserver.com/asdf/myApp.jsp
以这种方式交换标识符。该技术由Web应用程序容器处理,通常通过将配置设置为使用无cookie会话来启用。
在此线程上已经有很多贡献,只需总结一个序列图以另一种方式说明它。
这也是关于此主题的好链接,https://web.stanford.edu/~ouster/cgi-bin/cs142-fall10/lecture.php? topic =cookie
Cookies以文本文件格式存储在浏览器中。它存储的数据数量有限。它仅允许4kb [4096bytes]。$ _ COOKIE变量不能容纳多个同名的Cookie
我们可以在easily.So访问的cookie值,它是不太安全 .The 的setcookie()函数必须出现之前,
<html>
标签。
会话存储在服务器端,存储的数据数量不受限制,它在会话中保留了多个变量。我们无法轻松访问cookie的值。因此更加安全。
链接: Cookie和会话之间的差异