由于HTTP协议是无状态的,在WEB系统中,怎么识别请求来自于哪里呢?是哪一个用户发起的请求呢? cookie是什么呢?文章源自玩技e族-https://www.playezu.com/16175.html cookie是服务器传递到浏览器,保存在浏览器中的数据,然后浏览器每次请求都带上cookie,这样就可以标识用哪一个用户发起的请求, 比如说把用户登录的用户名和密码保存在cookie中, 只要cookie没有过期,以后用户每次登录都可以自动登录了,不需要再次输入用户名和密码, 因为浏览器在发起请求的时候已经把cookie中的用户名和密码传递给服务器了。文章源自玩技e族-https://www.playezu.com/16175.html 测试人员肯定经常听到开发对你说,我这边都是可以的,你清理一下你的浏览器的缓存,肯定就可以了,结果。。。有时候还是不行文章源自玩技e族-https://www.playezu.com/16175.html 文章源自玩技e族-https://www.playezu.com/16175.html session是什么呢?文章源自玩技e族-https://www.playezu.com/16175.html session把用户的信息保存在服务器上面, 浏览器第一次访问的时候服务器把sessionID传递到浏览器,然后浏览器把Session_id保存在cookie中, 每次访问把session_id带上,服务器就可以标识这个请求来自于那个用户,然后根据session_id查这个这个用户的seesion里面记录了哪些数据。文章源自玩技e族-https://www.playezu.com/16175.html 文章源自玩技e族-https://www.playezu.com/16175.html 会话cookie一般不存储在硬盘上而是保存在内存里,当然这种行为并不是规范规定的。若设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存里的cookie,不同的浏览器有不同的处理方式session机制。session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。文章源自玩技e族-https://www.playezu.com/16175.html 文章源自玩技e族-https://www.playezu.com/16175.html 当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否已包含了一个session标识(称为session id),如果已包含则说明以前已经为此客户端创建过session,服务器就按照session id把这个session检索出来使用(检索不到,会新建一个),如果客户端请求不包含session id,则为此客户端创建一个session并且生成一个与此session相关联的session id,这个session id将被在本次响应中返回给客户端保存。保存这个session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发送给服务器。一般这个cookie的名字都是类似于SEEESIONID。但cookie可以被人为的禁止,所以必须有其他机制以便在cookie被禁止时仍然能够把session id传递回服务器。其中一种技术叫做URL重写,就是把session id直接附加在URL路径的后面。还有一种技术叫做表单隐藏字段。就是服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把session id传递回服务器。 cookie 和session 的比较: (1)都是为了用来记录用户状态。 (2)cookie数据存放在客户的浏览器上,session数据放在服务器上。 (3)cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗。 (4)session会在一定时间内保存在服务器上。当访问增多,对服务器产生较大压力。 (5)单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。 (6)所以一般做法是:将登录信息等重要信息存放为session,其他需要保留的信息放在cookie中。
北京市 7F
总结的不错
北京市 B1
@ 萧瑟 感谢老铁的支持。
湖北省武汉市 6F
我居然经过你的讲解,懂了些。找不到留言本,所以就这里祝你元旦快乐吧!
北京市 B1
@ 林三 谢谢老铁,新年快乐。
广西 5F
涨知识了
广西南宁市 4F
cookie 和session懂得原理和区别之后,根据需求实用,特别是最后说的“将登录信息等重要信息存放为session,其他需要保留的信息放在cookie中”还是非常不错的建议的。
北京市 B1
@ boke112导航 大神级别的解释是越来越详尽了。
湖北省武汉市 B1
@ boke112导航 112老铁,向你学习呢!
湖北省武汉市 3F
最近真累
北京市 B1
@ 久伴博客 忙什么了啊,累。
广东省佛山市 2F
来看看
北京市 B1
@ 阿喵 最近在忙什么啊。
四川省成都市 1F
一个在服务器,一个在客户端
北京市 B1
@ wordpress建站吧