接口测试之cookie和缓存的区别

Cookie是什么:

下面是谷歌浏览器中调试工具抓取到cookie。

图片[1]-接口测试之cookie和缓存的区别-软件测试圈

Cookie意为“甜饼”,是由W3C组织提出,最早由Netscape社区发展的一种机制。目前Cookie已经成为标准,所有的主流浏览器如IE、Netscape、Firefox、Opera等都支持Cookie。

简单来说,cookie指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。

Cookie:

1..保存于客户端,

2.cookie是来自于服务器

为什么要用cookie

大家知道,http协议是一种无状态的协议(客户端和服务端互相不认识)

而Cookies是一些存储在用户电脑上的小文件。它是被设计用来保存一些站点的用户数据,这样能够让服务器为这样的用户定制内容。页面代码能够获取到Cookie值然后发送给服务器,比如Cookie中存储了所在地理位置,以后每次进入地图就可以默认定位到改地点。

cookie的组成:

属性项 解释

  • Key=VALUE 键值对,可以设置要保存的 Key/Value,注意这里的 NAME 不能和其他属性项的名字一样
  • Expires 过期时间,在设置的某个时间点后该 Cookie 就会失效
  • Domain 生成该 Cookie 的域名,如 domain="www.baidu.com"
  • Path 该 Cookie 是在当前的哪个路径下生成的,如 path=/wp-admin/
  • Secure 指定是否使用HTTPS安全协议发送Cookie,true —— 只能在HTTPS连接中传输,HTTP连接不会传输,所以不会被窃取到Cookie的具体内容,false —— HTTP、HTTPS连接都可以传输
  • HttpOnly 如果在Cookie中设置了"HttpOnly"属性,那么通过程序(JS脚本、Applet等)将无法读取到Cookie信息,这样能有效的防止XSS攻击。

浏览器缓存(Browser Caching)是为了节约网络的资源加速浏览,浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这样就可以加速页面的阅览。

Cookie与缓存的区别

缓存只是对静态资源的处理;Cookie是一种动态机制;

缓存大小受资源和磁盘空间的限制

Cookie本身有大小限制,一般浏览器限制大小不能超过4Kb

缓存不会发送服务器,cookie会与请求一并自动发送

作用不一样,缓存浏览器就可以从本地磁盘显示文档,可以加速页面的阅览。Cookie是服务器辨别用户身份,维护通信传输状态。

总结:

  • cookie:保存在浏览器种,有大小限制,有状态;
  • session:保存在服务器中,服务器有资源开销,分布式、跨系统不好实现;
  • Token:客户端可以将Token保存到任何地方,无限制,无状态,利于分布式部署。
© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
相关推荐
  • 暂无相关文章
  • 评论 抢沙发