cookie过大、过多对网站的影响

  • 时间:
  • 浏览:15

cookie是网站中重要的一个部分,虽然cookie是储存在客户端的,但是也不要太大方了,因为一个站点中的cookie太多了也不好。俗话说:物极必反,其实很多地方都印证了这个道理的。


下面我先来做一个试验,手动添加了4个2048个字节,也就是总共8k的cookie。



再次刷新网页www.codeinlife.com的时候已出现如下图,网页已经出现了400错误,如下图所示:



网站居然拒绝访问了,这是为什么呢?其实这是因为web服务器对请求头长度做了限制,避免畸形封装包消耗服务器的资源。


众所周知,cookie是塞在请求头里面的,拿PHP语言来说,当请求一个页面的时候,cookie会通过http协议传到服务端,这也是通过$_COOKIE就能获取到远程客户端中的cookie的原理。所以Cookie太大后,整个HTTP头也会被撑大,如下图显示:



其实不止页面会在请求头(Request Headers)传递cookie,连css、图片这些静态资源也会传递。可想而知,cookie过大也是非常浪费性能的,也会浪费我们的网站大量的流量。所以作为一个开发者,我们要慎用cookie,不能因为cookie是存在客户端这种片面的思想就乱用了。用一个东西之前要非常清楚它的原理,这样才能学好编程。