cookie和session简介

一、解决的问题:

  能解决很多很多的问题,目前碰到的场景:1)没有登录,不能看到登录后的其他页面;2)没有下单,不能看到下单成功的返回信息.....等等。假如没有cookie和session机制,http是无状态的,那么服务端就无法识别浏览器是不是首次登录,也就无法做出相应的判断;

二、单独使用cookie解决以上问题吗?

  可以解决;以django为例,浏览器访问django后台,会默认发送cookie值(其实就是一个键值对),此时的cookie比如是{“IDIDIDID”:"12345"},在django后台的处理的过程中,对cookie进行一些操作(_set_cookie方法)新增一组键值对,此时的cookie值比如成了{“IDIDIDID”:"12345","name":"qinwei"},将cookie发送给浏览器。当浏览器再次访问后台时,会携带新的cookie,那么后台就可以对其cookie中的值进行判断,比如a = request.cookie.get("name"),if a == "qinwei" 返回一个登陆成功后才能展示的页面。如果不携带“name”这个键,那么肯定是首次登录,或者name这个键对应的值不是"qinwei",那么也不能返回成功后才能展示的页面,因为让其返回到登录页面。但是,如果仅仅使用cookie,那是不安全的,信息都存在浏览器本地的机器,别人很容易拿到这个cookie文件,后进行破坏性的操作。所有引入了session机制。

三、cookie和session协同使用:  

  session将信息默认存储在服务端数据库的表中,而只给浏览器返回一把解锁session的钥匙(一组很长很乱的字符串给cookie),即服务端发送给浏览器的cookie比如{“sessionid”:"yetwcnbbcksioekmggaczxpokeuww};比如登录功能,当浏览器访问后台时,浏览器会携带cookie,当后台匹配到正确的用户名和密码时,后台可以对session进行一系列的操作,request.session[‘username‘]=‘qinwei‘,给session新加一组键值对,返回个人主界面。当浏览器直接调个人主界面url的时候,后台这块可以做判断。a = request.session.get("username")   if a == ‘qinwei‘ 那么证明浏览器之前登录成功过,可以给它返回个人主界面。如果没登录成功过或者压根从来么登录过,就不会有“username”这个键,我们就可以让它跳转到登录界面。

原文地址:https://www.cnblogs.com/qinweijujingyi/p/10177146.html

时间: 2024-10-13 18:57:34

cookie和session简介的相关文章

Cookie和Session简介与区别

1.Cookie和Session简介与区别 在非常多时候,我们需要跟踪浏览者在整个网站的活动,对他们身份进行自动或半自动的识别(也就是平时常说的网站登陆之类的功能),这时候,我们常采用Cookie与 Session来跟踪和判断. 区别 Session信息是存放在server端,但session id是存放在client cookie的,当然php的session存放方法是多样化的,这样就算禁用cookie一样可以跟踪 Cookie是完全保持在客户端的如:IE firefox 当客户端禁止cook

COOKIE 与 SESSION

一.cookie与session简介 1.为什么有cookie? cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要"保持状态",因此cookie就是在这样一个场景下诞生. 2.cookie工作原理 cookie的工作原理是:由服务器产生内容,浏览器收到请求后保存在本地:当浏览器再次访问时,浏览器会自动带上cookie,这样服务器就能通过cookie的内容来判断这个是"谁"了.例如服务端可以给每个客户端的cookie分配一个唯

(进阶篇)Cookie与 Session使用详解

1.Cookie和Session简介与区别 在非常多时候,我们需要跟踪浏览者在整个网站的活动,对他们身份进行自动或半自动的识别(也就是平时常说的网站登陆之类的功能),这时候,我们常采用Cookie与 Session来跟踪和判断. 区别 Session信息是存放在server端,但session id是存放在client cookie的,当然php的session存放方法是多样化的,这样就算禁用cookie一样可以跟踪 Cookie是完全保持在客户端的如:IE firefox 当客户端禁止cook

前端页面——Cookie与Session有什么差别

我们在实际生活中总会遇到这种事情,我们一旦登录(首次输入username和password)某个站点之后,当我们再次訪问的时候(仅仅要不关闭浏览器),无需再次登录.而当我们在这个站点浏览一段时间后,它会产生我们浏览的记录,并且有的站点还提供购物车的功能.这些简单有用的功能就是通过Cookie与Session实现的.接下来.让我们一起探讨一下它们是怎样执行的. 1.概念 Cookie 有时也用其复数形式Cookies.指某些站点为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(

分页和Cookie、Session

分页 自定义分页 函数班 from django.shortcuts import render # Create your views here. data = [] for i in range(1, 302): tmp = {"id": i, "name": "alex-{}".format(i)} data.append(tmp) # data def user_list(request): try: page_num = int(req

Cookie与 Session使用详解

1.Cookie和Session简介与区别 在非常多时候,我们需要跟踪浏览者在整个网站的活动,对他们身份进行自动或半自动的识别(也就是平时常说的网站登陆之类的功能),这时候,我们常采用Cookie与 Session来跟踪和判断. 区别 Session信息是存放在server端,但session id是存放在client cookie的,当然php的session存放方法是多样化的,这样就算禁用cookie一样可以跟踪 Cookie是完全保持在客户端的如:IE firefox 当客户端禁止cook

会话跟踪技术--cookie和session 小结

学习过servlet的都知道,servlet是单例多线访问的,所以我们不能设置servlet成员变量来存放浏览器的访问数据.怎么解决浏览器的访问数据,让不同访问者能够访问到自己的数据呢? 相信学习完了cookie和session技术之后,读者会明白这个问题. 我们在浏览器上使用http协议在网络上传输数据的时候,服务器对于http的状态处理有两个方式,cookie和session. 笔者对于cookie设session的理解是这样的:当我们想要记录浏览器与服务器之间的交互的时候,通常的方法就是

http 之cookie和session

 cookie和session 关于http: 1.http是:无状态.短连接 2.http的请求生命周期:给服务端发送一个请起头,通过域名提取url,通过路由关系匹配,再通过函数+html进行模板加数据渲染,最后返回给用户(响应头+响应体) 3.http发送规定: (1)请求:    get请求:没有请求体.数据不能超过1k    post:有请求体,数据大小没有要求(2)响应:    用户在页面看到的内容"字符串" cookie: 1.cookie的诞生: cookie不属于htt

PHP 会话控制 cookie与session 全解析

Cookie 简介 Cookie是存储在客户端浏览器中的数据,我们通过Cookie来跟踪与存储用户数据. 一般情况下,Cookie通过HTTP headers从服务端返回到客户端.多数web程序都支持Cookie的操作,因为Cookie是存在于HTTP的标头之中,所以必须在其他信息输出以前进行设置,类似于header函数的使用限制. PHP通过 setcookie 函数进行Cookie的设置,任何从浏览器发回的Cookie,PHP都会自动的将他存储在 $_COOKIE 的全局变量之中,因此我们可