HTTP协议是一个无状态的协议,服务器无法区分出两次请求是否发送自同一服务器。
需要通过会话控制来解决这个问题,会话控制主要有两种方式Cookie 和 Session。
那么cookie是什么呢?
Cookie就是一个头,Cookie由服务器创建,服务器以响应头的形式发送给客户端,客户端收到Cookie以后,会将其自动保存,在下次向服务器发送请求时会自动将Cookie以请求的形式发出,服务器收到以后就可以检查请求头中的Cookie并且可以根据Cookie中的信息来识别出不同的用户。
- Cookie 是浏览器访问服务器后,服务器传给浏览器的一段数据。
- 浏览器需要保存这段数据,不会轻易删除。
- 此后每次浏览器访问该服务器,都必须带上这段数据。
- cookie存放在硬盘之中。
如果你想知道自己电脑里都有什么样的Cookie,那么请在Windows目录下寻找Cookie的文件夹。
cookie有两个作用:
1.记录用户身份
用户A第一次访问a网站的时候,a网站发现A没有附带uID数据,此时就会返回给用户A一段数据[uID=1],这样A每次访问a网站就会带上[uID=1]这个数据
2.记录用户历史
假设一个购物车网站b,用户B[uID=2],此时他把B1,B2商品加入购物车,[uID=2,CART=B1,B2],过去了几天,B再次打开b网站,发现商品仍在购物车中,因为浏览器不会轻易删除cookie。
白话一点就是
其实cookies是由网络服务器存储在你电脑硬盘上的一个txt类型的小文件,它和你的网络浏览行为有关,所以存储在你电脑上的cookies就好像你的一张身份证,你电脑上的cookies和其他电脑上的cookies是不一样的;cookies不能被视作代码执行,也不能成为病毒,所以它对你基本无害。
cookies的作用主要是,当你访问了某些网页,并且对网页的一些设置进行修改,cookies就能跟踪并记录到这些修改,当你下一次访问这个网页的时候,这个网页会分析你电脑上的cookies,进而采取措施像你返回更符合你个性化的网页;
当然,目前大部分广告的定位基础也是基于cookies的,比如你此前访问了大量的健身类网站,cookies记录了你的访问行为,广告主就能够根据你的访问行为,向你推送健身类的广告。