会话跟踪
2018-10-09 本文已影响15人
阿猫阿狗py
1. 会话跟踪
所谓会话,就是客户端和服务器的一次完整的交流过程。
会话跟踪技术主要是同年过session和cookie进行操作的。
session是保存在服务端的数据,session中可以存储任意类型的数据,数据大小一般没有限制,但是在实际项目开发过程中,要求只存储体积小、较重要的数据。
cookie是服务器通过响应头保存在客户端的数据,cookie中只能存储字符串格式的数据,数据大小一般收到浏览器软件的限制;不同的浏览器之间是cookie独立的、隔离的。
1.1. session
Django中操作在session。首先要保证启用了session功能,可以在根模块的settings.py配置文件中查看到具体相关信息,检查添加如下两行配置表示启用session【默认已启用】
INSTALLED_APPS = [
'django.contrib.sessions',
]
MIDDLEWARE = [
'django.contrib.sessions.middleware.SessionMiddleware',
]
方法 | 描述 |
---|---|
request.session | 获取session会话对象 |
request.session[‘key’]=value | 在session中的一个名称为key的变量中存放一个数据value |
request.session.get(‘key’,default) | 在session中获取名称为key的变量的值 |
request.session.clear() | 清除所有会话,在存储中删除值部分 |
request.session.flush() | 清除会话数据,在存储中删除会话的整条数据 |
request.session.set_expiry(value) | 设置session会话过期时间 【没有指定->两周过期】【整数->整数秒后过期】【0->浏览器关闭时过期】【None->永不过期】 |
del request.session[‘key’] | 删除key对应的session值 |
1.2. cookie
cookie主要是当客户端浏览器访问服务器时,服务器将一些不是很敏感的简短信息记录在哭护短PC中的过程。cookie****是明码记录数据的。
核心有两种操作方式:
读取客户端给服务器发送请求时附带的客户端的cookie数据:
request.COOKIES:读取请求对象中包含的cookie数据
Ø 服务器将cookie数据通过响应对象写入给客户端进行存储
response.set_cookie(k,v,m_age):通过响应给客户端写cookie数据