Chr*_*ore 301
Cookie只是一个在客户端和服务器之间来回发送的短文本字符串.您可以存储name=bob; password=asdfas
在cookie中并来回发送以识别服务器端的客户端.您可以将此视为与没有短期记忆的银行出纳员进行交换,并且需要您为每笔交易确定自己的身份.当然使用cookie来存储这种信息是非常不安全的.饼干的大小也有限.
现在,当银行出纳员知道他/她的记忆问题时,他/她可以在一张纸上写下您的信息并为您分配一个短的身份证号码.然后,您可以只说"我是客户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会话来打开.
Era*_*rin 178
会话是包含用户信息的服务器端文件,而Cookie是包含用户信息的客户端文件.会话具有唯一标识符,可将其映射到特定用户.此标识符可以在URL中传递或保存到会话cookie中.
大多数现代网站使用第二种方法,将标识符保存在Cookie中,而不是将其传递到URL中(这会带来安全风险).您可能在不知情的情况下使用此方法,并且通过删除Cookie,您可以在删除Cookie中包含的唯一会话标识符时有效地删除其匹配的会话.
小智 6
Cookie 和会话都存储有关用户的信息(使 HTTP 请求有状态),但不同之处在于 cookie 存储客户端(浏览器)的信息,会话存储服务器端的信息。cookie 是有限的,因为它存储有关有限用户的信息,并且只为每个用户存储有限的内容。会话不受这种方式的限制。
在这个线程上已经有很多贡献,只是总结一个序列图以另一种方式来说明它。
这也是关于这个主题的一个很好的链接,https://web.stanford.edu/~ouster/cgi-bin/cs142-fall10/lecture.php? topic =cookie
归档时间: |
|
查看次数: |
143096 次 |
最近记录: |