cookie和session

cookie和session

1、什么是cookie?
	cookie是指网站为了鉴别用户身份,进行会话跟踪而存储在客户端本地的数据。
2、什么是session?
	本来的含义是指有始有终的一些动作,而在web中,session对象用来在服务器存储特定用户会话所需要的属性及信息。
3、cookie和session产生的原因:
	cookie和session他们不属于http协议范围,由于http协议是无法保持状态,但实际情况,我们又需要保存一些信息,下次作为请求的条件,所以就产生了cookie和session。
4、cookie的原理:
	由服务器产生,当浏览器第一次登录,发送请求到服务器,服务器返回数据,同时生成一个cookie返回给客户端,客户端将这个cookie保存下来。
	当浏览器再次访问,浏览器就回自动带上cookie信息,这样服务器就能通过cookie判断是哪个用户在操作。
	cookie的缺陷:
	(1)不安全---保存在客户端
	(2)cookie本身最大支持4096(4kb)---存储大小受限
5、session的工作原理:
	正是因为cookie的缺陷,所以产生了另外一种保持状态的方法---session。
	服务器存储session,基于http协议的无状态特征,所以服务器就不知道这个访问者是谁。为了解决这个问题,cookie就起到了桥的作用。cookie在使用的过程中,将一个叫做sessionid的字段放到cookie中,将来服务器可以通过这个id字段来查找到底哪个用户的session。
	session的生命周期:当用户第一次登录时创建(生命开始),到session有效期结束(eg:30min)
6、当我们浏览器关闭,session是否就失效了?
	不失效。原因:session失效是生命周期决定的
7、cookie的组成:
	name:cookie名称,一旦创建,不可更改。
	value:该cookie的值
	domain:该cookie可以访问网站域名
	maxage:cookie的失效时间,负数是永不失效
	path:这个使用路径
	http字段:cookie的httponly,若属性为true,则只有http头中会带此cookie
	secure:该cookie是否仅被使用安全传输协议。
	size:cookie的大小
8、会话cookie和持久cookie
	持久化:将内存中的数据存储到硬盘(文件中,数据库)的过程。
	序列化:将对象保存到硬盘上
	会话cookie:保存在内存中cookie,浏览器关闭,cookie失效。
	持久cookie:保存在硬盘上的cookie。
9、用requests实现登录:
	(1)只需将登录后的cookie字段封装在请求头中
	(2)使用requests的session对象登录
		session对象可以记录登录状态
		使用步骤:
		# session记住登录状态
		se = requests.Session()
		data = {
			'email':'******',
			'password':'12345678',
		}
		#此时se对象就保存了登陆信息
		se.post(base_url,data = data,headers = headers)
		------------------------------------------
		index_url = 'http://www.renren.com/971682585/profile'
		#用se对象来进行个人首页的访问,就可以了
		response = se.get(index_url,headers=headers)
		if '鸣人' in response.text:
			print('登陆成功!')
		else:
			print('登陆失败!')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值