coookie的性能影响和弊端

由于Cookie的实现机制,一旦服务器端向客户端发送了设置Cookie的意图,除非Cookie过期,否则客户端每次请求都会发送这些Cookie到服务器端,一旦设置的Cookie过多,会将导致报头较大。大多数的Cookie并不需要每次都用上,因为这会造成宽带的部分浪费。

  • 减少Cookie的大小

如果在域名的根节点设置Cookie,几乎所有子路径下的请求都会带上这些Cookie,这些Cookie在某些情况下是有用的,但在有些情况下是完全无用的,但是一旦有Cookie设置到相同域名下,他的请求就会带上Cookie

  • 为静态组件使用不同的域名

多个域名优点:

  • 为不需要Cookie的组件换个域名可以实现减少无效Cookie的传输。所以很多网站的静态文件会有特别的域名,使得业务相关的Cookie不再影响静态资源。
  • 使用不同的域名不但可以减少Cookie的发送,还可以突破浏览器下载线程数量的限制,因为域名不同,下载线程限制数量翻倍。

多个域名缺点:

额外的域名还是有一定的缺点,那就是将域名转换为IP需要进行DNS查询,多一个域名就多一次DNS查询。页面的性能规则上就有一条:减少dns查询,但是好在大多数浏览器都活进行DNS缓存,以削弱这个副作用的影响。

  • Cookie的弊端

Cookie除了通过后端添加协议头的字段设置外,前端浏览器中也可以通过JS进行修改,修改过后,后续的请求中就会携带上修改过后的值,目前广告和在线统计领域是最为依赖Cookie的,通过签入第三方的广告或者统计脚本,将Cookie和当前页绑定,这样可以标识用户,得到用户的浏览行为,广告商就可以定向投放了。 Cookie只能做到标识,而不能做到任何具有破坏性的事情,但是Cookie并非完美。

除了前面的体积过大的问题,最严重的的问题就是Cookie可以在前后端进行修改,因此数据就容易被篡改和伪造。所以 Cookie对于敏感数据的保护是无效的。

  • 总结

日常性能提升看上去,提升意义不大,但是性能细节方面影响诸多,聚小成多。整体性能提升不可小觑。

你可能感兴趣的:(coookie的性能影响和弊端)