javaWeb第三天~Cookie 和Session
一、Cookie:客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。
1, 诞生背景:HTTP协议是无状态连接,服务端不知道上一次是哪一个客户请求了自己。【导致多个请求之间无法共享数据,无法跟踪用户的会话信息。】
■ 解决方案:使用参数的传递机制【Get方式】,导致共享的数据暴露在了浏览器地址栏中【因为Get方式时将请求的资源存储在请求行中】
□ 解决:将数据存储到请求头中,此时就不会再浏览器地址栏中出现了--->(Cookie)
1):多个人使用同一台电脑的时候,可以查看浏览器的Cookie,不安全. 2) :Cookie存储中文比较麻烦(得编码,再解码). 3): Cookie的value是String类型,一个Cookie就只能存储一个数据,如果需要存储多个数据,就得创建多个Cookie对象. 4):一个站点对Cookie有限制: Cookie大小限制在4KB之内: 一台服务器在一个客户端最多保存20个Cookie; 一个浏览器最多可以保存300个Cookie; 5):在设计上就有问题,考虑生活中问题. Cookie是浏览器和服务器之间数据交互的凭证.在生活中,我们是把识别数据存储到服务端. -->Session. |
二、Session:服务端技术(将数据存储到服务器,然后把数据内存地址响应给浏览器,当浏览器再次请求该站点资源时,就知道从哪个空间中取出共享数据。)~本质上,Session就是特殊的Cookie,只是浏览器存储的是数据内存空间地址。