cookie session 讲解
cookie:
cookie的定义:
cookie 是由web服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息,并且在每次请求时会携带保存的数据去访问服务器,所以cookie有效地提升了用户体验,cookie 不适合存取敏感的信息,因很容易会暴露信息。cookie最典型的应用是判定注册用户是否已经登录网站。
设置cookie
设置cookie会用到响应对象也就是HttpResponse,也就是响应请求时进行设置cookie
获取cookie
获取cookie会用到请求对象也就是request,也就是在请求对象进行获取cookie
具体操作:
def cookie_set(request):
#先获取响应对象
res = HttpResponse('设置cookie')
#使用响应对象设置cookie
res.set_cookie('name','lisi')
res.set_cookie('name1','yichuan',3600*24*365)
# res.set_cookie('aa','aabbcc',expires=datetime(2025, 4, 19, 12, 20), path='/')
return res
def cookie_get(request):
#在请求对象中获取
data = request.COOKIES.get('name')
print(data)
return HttpResponse('获取cookie')
session:
session是一个概念,一套方案,用于解决用户名和密码存储区你cookie中不安全的问题。
Session的工作机制:浏览器传用户名和密码之后,session会将username加密生成一个,session_id,然后再返回到浏览器中。黑客不知道加密方式,所以授权信息更加安全。
session生命周期:
创建:第一次执行request.getSession()时创建
销毁:
1)服务器(非正常)关闭时
2)session过期/失效(默认30分钟)
问题:时间的起算点 从何时开始计算30分钟?
从不操作服务器端的资源开始计时
具体操作:
提前说出需要注意的地方:
1、settings.py中 SECRET_KEY、INSTALLED_APPS里面的django.contrib.session 、MIDDLEWARE里面的 django.contrib.sessions.middleware.SessionMiddleware 这几个地方不要动
2、Django的session需要依赖数据库,所以数据库中必须要有django_session这张表,里面的session_key列就是为session生成的sessionid,session_data 就是存的session数据,expire_date存的是时间
具体操作:
def session_set(request):
#设置session
request.session['VipUser'] = {'name':'lisi','age':12}
return HttpResponse('session_set:设置')
def session_get(request):
#获取session
data = request.session.get('VipUser')
print(data)
return HttpResponse('session_get:获取')
cookie session 讲解的更多相关文章
- session与cookie的讲解
session_start();//开启session http,无状态性 记录状态SESSION COOKIE SESSION :存储在服务端(器)的:每个人存一份:可以存储任意类型的数据:默认过期 ...
- cookie,session,sessionid
cookie,session,sessionid http协议是无状态的,意思是每次请求的状态不会保存.因此,产生了cookie,session之类保存会话状态的机制.1.什么是cookiecooki ...
- Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期
servlet的404错误困扰了两天,各种方法都试过了,翻书逛论坛终于把问题解决了,写此博客来纪念自己的第一个servlet经历. 下面我会将自己的编写第一个servlet的详细过程提供给初学者,大神 ...
- 在IE浏览器中iframe跨域访问cookie/session丢失的解决办法
单点登录需要在需要进入的子系统B中添加一个类,用于接收A系统传过来的参数: @Action(value = "outerLogin", results = { @Result(na ...
- 会话Cookie及session的关系(Cookie & Session)
会话Cookie及session的关系(Cookie & Session) 在通常的使用中,我们只知道session信息是存放在服务器端,而cookie是存放在客户端.但服务器如何使用sess ...
- cookie,session,token的定义及区别
参考了很多文章总结的. 1.cookie(储存在用户本地终端上的数据) 服务器生成,发送给浏览器,浏览器保存,下次请求同一网站再发送给服务器. 2.session(会话) a.代表服务器与浏览器的一次 ...
- Java web学习 Cookie&&Session
cookie&&session 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话.会 话技术就是记录这次会话中客户端的状态与数据的. 会话技术分为Coo ...
- Cookie&Session(会话技术)
一.Cookie技术 从打开一个游览器访问某个站点,到关闭这个游览器的整个过程成为一次会话 会话技术分为Cookie和Session Cookie:数据存储在客服端本地,减少对服务端的存储的压力,安全 ...
- Cookie Session和自定义分页
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
随机推荐
- hdoj:2051
#include <iostream> #include <string> #include <vector> #include <algorithm> ...
- C#WebService服务在Windows7的部署
(一)C#WebService服务在Windows7的部署 一.在控制面板,程序与卸载中安装IIS组件. 二.IIS无法显示WebService的.asmx文件.解决办法:注:(这里可以不用考虑,直 ...
- 【Clojure 基本知识】 关于函数参数的各种高级用法
关于Clojure函数参数用法,学习中一些总结,无废话,直接看代码: 一.接受不定参数 ;;接受不定参数 (defn f0[& pms] (println "params count ...
- css定位实现星级展示没有交互
<div class="star_evaluate"> <span class="star star_10"></span> ...
- PXE:另类方式启动 centos live
default menu.c32 timeout 1 label centos76-live-by-other menu label centos76-live from ftp by other k ...
- python学习笔记(四)
模块与包 python模块,一个.py文件 导入模块的语法: import importable importable#可以是包或包中的模块 import importable1,....,impo ...
- wampserver2.2e-php5.3.13 版本 增加 php7 支持
公司需要升级PHP版本至PHP7,对于用惯了wamp的来说,添加一下PHP扩展应该是很容易的,看我以前的文章(WampServer自己DIY添加apache.php.mysql版本). 不过再配置的当 ...
- [3]java1.8线程池—ThreadPoolExecutor
Wiki 上是这样解释的:Thread Pool 作用:利用线程池可以大大减少在创建和销毁线程上所花的时间以及系统资源的开销! 下面主要讲下线程池中最重要的一个类 ThreadPoolExecutor ...
- android控件RecyclerView中,如何显示自定义分割线以及最后一项去除分割线
在控件RecyclerView中,分割线DividerItemDecoration类的使用经常见,如果是使用自带的分割线,只需要这样写即可 RecyclerView mRecyclerView; mR ...
- <转>从K近邻算法、距离度量谈到KD树、SIFT+BBF算法
转自 http://blog.csdn.net/likika2012/article/details/39619687 前两日,在微博上说:“到今天为止,我至少亏欠了3篇文章待写:1.KD树:2.神经 ...