Session 与 Cookie 区别
Session 与 Cookie 的诞生是为了什么
我们知道,我们用浏览器打开一个网页,用到的是HTTP协议,它是无状态的,什么是无状态呢?就是说这一次请求和上一次请求是没有任何关系的,互不认识的,没有关联的,这个时候就诞生了它们。但是这种无状态的的好处是快速。
cookie/session的出现就是为了解决http协议无状态的弊端,为了让客户端和服务端建立长久联系而出现的。
cookie是为了像服务器证明自己是谁,这个东西是在浏览器向服务器访问过后,由服务器返回的,相当于浏览器的身份证一样。cookie是存在于浏览器的。
而session是为了存储一些私密数据以及用户的基本信息(姓名,手机号,年龄,性别)等等。session是存在于客户端的。
Session
session保存在服务器端,cookie保存在客户端,session依赖cookie进行保存.如果cookie被禁用了,session不能继续使用.,因为Session要在本地记录一个SessionID的Cookie!。
session是一次浏览器和服务器的交互的会话,会话是啥呢?就是我问候你好吗?你回恩很好。就是一次会话,那么对话完成后,这次会话就结束了。
HTTP请求一个页面后,如果用到开启session,会去读cookie中的PHPSESSID是否有,如果没有,则会新生成一个session_id,先存入cookie中的PHPSESSID中,再生成一个sess_前缀文件。当有写入$_SESSION的时候,就会往sess_文件里序列化写入数据。当读取的session变量的时候,先会读取cookie中的PHPSESSID,获得session_id,然后再去找这个sess_sessionid文件,来获取对应的数据。由于默认的PHPSESSID是临时的会话,在浏览器关闭后,会消失,所以,我们重新访问的时候,会新生成session_id和sess_这个文件。
Cookie
Cookie的诞生是为了解决HTTP无状态的特性无法满足交互式web。
Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie
客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,
以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。
应用
cookie用途典型的例子是保持登录状态,下次进入网页不用再次登录。
- 会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息)
- 个性化设置(如用户自定义设置、主题等)
- 浏览器行为跟踪(如跟踪分析用户行为等)
session典型例子是显示在线总人数。
致谢
cookie和session是为了解决什么问题产生的?
什么是session?什么是cookie?session和cookie有什么区别?
Session 与 Cookie 的诞生是为了什么
Cookie起源与发展
Session,Cookie起源和概念解析
session与cookie的区别是什么,请从协议,产生的原因与作用上说明?
session的到底是做什么的?