【接口测试】Cookie和Session的区别与使用

Cookie和Session的区别与使用

一、Cookie与Session的区别

区别

Cookie

Session

存在

Cookie是客户端技术,通常保存在客户端,即本地,IE浏览器把Cookie信息保存在类似于C:\windows\cookies的目录下。因为Cookie在客户端,所以可以编辑伪造,不是十分安全

Session是服务器端技术,在服务器端,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务

存储数据库

只能存储 String 类型的对象

能够存储任意的 java 对象

性能

Cookie存在客户端对服务器没影响

Session过多时会消耗服务器资源,大型网站会有专门Session服务器

作用域

Cookie通过设置指定作用域只能在指定作用域有效

Session在整个网页都有效

作用时间

Cookie可以通过 setMaxAge设置有效时间,即使浏览器关闭了仍然存在

关闭网页Session就结束了

 

Cookie注意细节:

1.一个Cookie只能标识一种信息,它至少包含有一个标识该信息的名称(NAME)和设置值(VALUE)

2.一个WEB站点可以给一个WEB浏览器发送多个Cookie,一个WEB浏览器也可以存储多个WEB站点提供的Cookie

3.浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB。

4.如果创建了一个cookie,并将他发送到浏览器,默认情况下它是一个会话级别的cookie(即存储在浏览器的内存中),用户退出浏览器之后即被删除。若希望浏览器将该cookie存储在磁盘上,则需要使用maxAge,并给出一个以秒为单位的时间。将最大时效设为0则是命令浏览器删除该cookie。

 

 

二、Cookie与Session使用

1、俩个都是都由后端服务器生成的,cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie相当于明文,而session类似于密文,是由后端服务器经过编码后的一段无序字符串;session是key-value格式的数据,则它的键session_id保存在cookie中的,值session_data保存在服务器,通过key来取到value。

3.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗;考虑到安全应当使用session。

4、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能;考虑到减轻服务器性能方面,应当使用COOKIE。

5、建议:将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在COOKIE中。

你可能感兴趣的:(软件测试教程)