在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
什么是 cookie?cookie和session 有什么区别?Cookie是HTTP协议的规范之一,它是服务器和客户端之间传输的小数据。cookie 数据存放在客户的浏览器上,session 数据放在服务器上。

cookie和session 有什么区别?
1、cookie 数据存放在客户的浏览器上,session 数据放在服务器上。
2、cookie 不是很安全,别人可以分析存放在本地的 cookie 并进行 cookie 欺骗,考虑到安全应当使用 session。
3、session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
4、单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 cookie。
5、可以考虑将登陆信息等重要信息存放为 session,其他信息如果需要保留,可以放在 cookie 中。
什么是 cookie,session 有什么区别?
1、cookie 数据存放在客户的浏览器上,session 数据放在服务器上。
2、cookie 不是很安全,别人可以分析存放在本地的 cookie 并进行 cookie 欺骗,考虑到安全应当使用 session。
3、session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
4、单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 cookie。
5、可以考虑将登陆信息等重要信息存放为 session,其他信息如果需要保留,可以放在 cookie 中。
关于Cookie
一、什么是Cookie
Cookie是HTTP协议的规范之一,它是服务器和客户端之间传输的小数据。
首先由服务器通过响应头把Cookie传输给客户端,客户端会将Cookie保存起来。
当客户端再次请求同一服务器时,客户端会在请求头中添加该服务器保存的Cookie,发送给服务器。
Cookie就是服务器保存在客户端的数据!
Cookie就是一个键值对!!!
二、 Cookie规范
Cookie通过请求头和响应头在服务器与客户端之间传输;
Cookie大小限制在4KB之内;
一台服务器在一个客户端最多保存20个Cookie;
一个浏览器最多可以保存300个Cookie;
虽然Cookie规范是如此,但在今天,浏览器厂商的竞争异常激烈,所以多少会超出Cookie规则的限制。但也不会超出过多!
关于Session
一、什么是session
在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。
二、 session的原理
session是依赖Cookie实现的。session是服务器端对象
当用户第一次使用session时(表示第一次请求服务器),服务器会创建session,并创建一个Cookie,在Cookie中保存了session的id,发送给客户端。这样客户端就有了自己session的id了。但这个Cookie只在浏览器内存中存在,也就是说,在关闭浏览器窗口后,Cookie就会丢失,也就丢失了sessionId。
当用户第二次访问服务器时,会在请求中把保存了sessionId的Cookie发送给服务器,服务器通过sessionId查找session对象,然后给使用。也就是说,只要浏览器容器不关闭,无论访问服务器多少次,使用的都是同一个session对象。这样也就可以让多个请求共享同一个session了。
当用户关闭了浏览器窗口后,再打开浏览器访问服务器,这时请求中没有了sessionId,那么服务器会创建一个session,再把sessionId通过Cookie保存到浏览器中,也是一个新的会话开始了。原来的session会因为长时间无法访问而失效。
当用户打开某个服务器页面长时间没动作时,这样session会超时失效,当用户再有活动时,服务器通过用户提供的sessionId已经找不到session对象了,那么服务器还是会创建一个新的session对象,再把新的sessionId保存到客户端。这也是一个新的会话开始了。
三、session与浏览器
session对象是保存在服务器端的,而sessionId是通过Cookie保存在客户端的。
因为Cookie不能在多个浏览器中共享,所以session也不能在多个浏览器中共享。也就是说,使用IE登录后,再使用FireFox访问服务器还是没有登录的状态。
而且同时打开多个相同浏览器的窗口,是在使用同一session。如果你使用的是老浏览器,例如IE6,那么就会每个窗口一个session。
四、Session和Cookie的主要区别
Cookie是把用户的数据写给用户的浏览器。
Session技术把用户的数据写到用户独占的session中。
Session对象由服务器创建,开发人员可以调用request对象的getSession方法得到session对象。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Python开发工程师面试中常见知识点集锦(一)
很多Python工程师屡屡碰壁,需要很长时间才能找到合适的工作。虽然有一部分是因为技术能力确实无法满足企业需求,而更多的人技术能力很强仅仅是因为面试过程中没有良好的发挥。所以作为Python开发工程师,不仅仅要掌握知识,同时也要多了解一些面试题。这样在遇到跳槽的时候才能更快的找到满意的工作。下面就是python开发工程师面试中常见的知识点集锦。
10605
2019-06-27 18:11:50
Python开发多进程、多线程以及协程是什么?项目是否用?
其实多线程,多进程,在实际开发中用到的很少,进程:一个运行的程序(代码)就是一个进程,没有运行的代码叫程序;线程:调度执行的最小单位,也叫执行路径;协程:是一种用户态的轻量级线程,协程的调度完全由用户控制。
13605
2019-07-02 16:33:41
Python面试题scrapy和scrapy-redis的区别是什么?
Python面试题scrapy和scrapy-redis的区别是什么?为什么选择redis数据库?scrapy 是一个Python爬虫框架,爬取效率极高,具有高度定制性,但是不支持分布式。选择redis 数据库因为 redis支持主从同步,而且数据都是缓存在内存中的。
9946
2019-07-04 17:55:35
推荐十个Python图像处理工具
今天的世界充满了各种各样的数据,而图像是这些数据的重要组成部分。但当我们在使用它们之前,必须对这些数字图像进行处理、分析和操作,以提高其质量甚至提取一些可以使用的信息。本文将推荐十个Python图像处理工具。
8219
2019-07-09 14:27:16
Python知识点详解:UDP和TCP协议的介绍
UDP和TCP都是传输层协议,不过却又一些不同。TVP提供IP环境下的数据可靠传输,它是实现为所发送的数据凯皮出连接的通道,然后再进行数据的发送。而UDP并不为IP提供可靠性,流控或差错回复功能。UDP和TCP到底如何定义?应用场景是如何的呢?下面小编就详细为大家解析一下。
9124
2019-07-11 17:18:53
