欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

会话跟踪

程序员文章站 2024-03-20 10:58:28
...

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数据