为什么需要Cookie和Session
Http 是一个无状态协议, 就是说这一次请求和上一次请求是没有任何关系的,互不认识的,没有关联的。这种无状态的的好处是快速。坏处是需要进行用户状态保持的场景时(比如,登陆状态下进行页面跳转,或者用户信息多页面共享等场景),此时就需要 session 和 cookie。
Cookie
cookie是一种在浏览器端解决的方案,将登陆认证之后的用户信息保存在本地浏览器中,后面每次发起http请求,都自动携带上该信息,就能达到认证用户,保持用户在线的作用。
工作原理
Session
session在cookie的基础上更加的安全。将用户敏感信息保存至服务器,而服务器本身采用md5算法或相关算法生成唯一值(session id),将该值保存值客户端浏览器,随后,客户端的后续请求,浏览器都会自动携带该id,进而再在服务器端认证,进而达到状态保持的效果
工作原理
区别
- Cookie以文本文件格式存储在浏览器中,而session存储在服务端
- 因为每次发起 Http 请求,都要携带有效Cookie信息,所以Cookie一般都有大小限制,以防止增加 网络压力,一般不超过4k
- 可以轻松访问cookie值但是我们无法轻松访问会话值,因此session方案更安全
相关选择题
版权声明:选择题整理为优快云博主「cmdch2017」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/weixin_43914278/article/details/104437004
Cookie
1.下面有关Cookie的说法,错误的是(C)
A.Cookie不是只有一个
B.Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie
C.在HTTP请求中的Cookie是密文传递的(明文)
D.有一些Cookie在用户退出会话的时候就被删除了,这样可以有效保护个人隐私
2.【多选题】cookie的基础属性有哪些?(ABCDE)
A.Domain
B.path
C.httponly
D.secure
E.expires
3.【多选题】cookie有什么用?(ABCD)
A.记录用户的ID
B.记录用户的密码
C.记录用户浏览过的商品记录
D.记录用户的浏览器设置
4.【多选题】cookie安全机制,cookie有哪些设置可以提高安全性?(ABC)
A.指定cookie domain的子域名
B.httponly设置
C.cookie secure设置,保证cookie在https层面传输
D.都不对
5.如果没有为Cookie指定失效时间,则设置的Cookie将在何时失效?(C )
A.关机时
B.下次访问该网站时
C.结束当前会话时
D.访问另一个网站时
Session
1.下列关于Session的描述中,错误的是(D)
A.Session存储在服务端
B.大量的Session会对服务端内存造成压力
C.Session可以在多个服务器之间共享
D.通常下cookie比Session安全
2.下列关于Session的描述中,错误的是()
A. Session存放于服务端
B. 默认情况下,Session依赖于Cookie
C. Session中只能存放字符串,不能存放其他类型的数据(int也可以)
D. 在分布式架构中,存在Session共享的问题
3.关于Session对象的属性,下列说法正确的是(C )
A. Session的有效期时长默认为90秒,且不能修改。
B. Session的有效期时长默认为20分钟,且不能修改。(Session的Timeout可以修改Session对象的有效期时长)
C. SessionID可以存储每个用户Session的代号,是一个不重复的长整型数字。
D. 以上全都错
4.【多选题】cookie 和 session 的区别描述正确的是(ABCD)
A. cookie数据存放在客户的浏览器上,session数据放在服务器
B. cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
C. session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
D. 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie
5.关于cookie和session描述错误的是(C)
A.cookie保存在客户端浏览器中,而session保存在服务器上
B.cookie和session都是用来保存状态信息,都是保存客户端状态的机制,它们都是为了解决HTTP无状态的问题而所做的努力
C.session是有有效期的,而cookie则没有有效期(有效期)
D.如果浏览器禁用了cookie,session机制不会失效