Cookie:记录一系列状态
Cookie工作原理:在某个浏览器中保存数据后,服务端会将数据写到客户端的本地中,以cookie的保存机制保存。
简单理解:就是将服务器端的东西写到客户端中,就好比如,使用账号登录某个网页时,大多浏览器会弹出一个提示框(访问是否保存账号与密码),选择保存后,保存的账号以及密码会使用cookie机制保存到客户端,下次再登录这个网站就不再需要输入账号与密码了。这个就是cookie的工作原理。
下图是在网页中使用cookie保存下来的信息(这些信息是不会损坏电脑的,反倒是如果拦截cookie有些网页就无法正常访问了。)
Cookie与Session的区别:Cookie是记录在客户端的,而Session是记录在服务端的。
Cookie原则:
- 服务器可以向客户端写内容
下图就是服务器写到客户端的cookie信息
2、只能是文本内容
3、客户端可以阻止服务器写入cookies(这个是在浏览器中设置的。)
4、只能拿自己webapp写入的东西(意思:火狐不能拿谷歌的cookie信息)
5、Cookie分为两种
属于窗口/子窗口(当关闭浏览器窗口,Cookie即消失)
如果cookies没有设置生命周期,或者设置为-1,那么cookie就是写在内存了,而没有写在客户端上,这种情况都是当关闭浏览器后,cookie即消失。
属于文本(写入客户端的文本,只能写文本文档,不能写其他的)。
关闭浏览器重新打开后,在内存中的已经无法读取了,只有还写在客户端的还可以查到。(为什么无法读取呢,因为没有给出时间,没有写入多长时间,或者-1,所以也就是上述中的当关闭浏览器窗口,Cookie即消失的一种情况。)
6、一个servlet或者jsp设置的cookies能够被同一个路径或者子路径下面的servlet或者jsp读到,其他的不同路径下保存的读不到,这个路径不是指那些真真正正的服务器文件路径,而是URL(路径=URL)(路径!=真实文件路径)
URL:servlet的配置文件打的URL
设置客户端的cookie
HTML样式,已经写好链接,直接跳转,因为有些cookie没有设置时间,所以实在内存中运行的,所以要是直接关掉再打开浏览器,就读取不到内存中的cookie了
读取客户端的cookie
上图的结果