django的ajax_cookie和session
1、Cookie与session
由于http请求是无状态的,无法记录用户的身份,所以需要有一种机制来长期的保存和校验用户的身份,最先出现的是cookie。
Cookie:是由服务器下发到用户(浏览器)本地的用于校验身份的数据。Cookie工作的机制类似上面的通关文牒:
用户第一次请求服务器
服务器根据用户提交的数据来识别用户身份,然后下发对应的cookie
用户第二次携带cookie请求服务器
服务器根据cookie为用户提供服务。
由于cookie是由服务器下发到用户本地的,所以导致了一些安全性问题:
1、用户可以拒收cookie
2、用户可以仿造cookie
Session就是为了解决cookie的安全性问题提出的一种新的回话控制技术。
Session需要结合cookie进行使用。
Session存放在服务器的数据库当中
django自带session库
使用session之后,不会再次直接向服务器下发cookie身份信息,下发的是一个随机不重复的session_id,用户携带session_id访问服务器,服务器通过session_id判断身份,下发cookie。再次校验,校验:
1、session和cookie对应
2、Session是否过期
3、Cookie是否合法
Cookie和session的比对:
Cookie放在用户本地,session存在服务器数据库当中
校验cookie速度比较快,但安全性不够好
校验session速度比较慢,安全性相对好,但未从根本上解决安全问题
Cookie的基本操作:
路由配置
设置cookie
def setCookie(request):response=render(request,"setCookie.html")response.set_cookie("username","123")return response查询cookie下发
请求携带cookie
cookie参数设置
获取校验cookie
删除cookie
def delCookie(request):response=HttpResponseRedirect("/p404/")response.delete_cookie("username")return response def tishi(request):return HttpResponse("页面跑偏了,找不到页面可以找bug")#return render_to_response("p404.html")index.html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <body> Cookie <a href="/sc/" >存在cookie</a> <a href="/del/"> 删除cookie</a></body> </html>p404.html
`<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <body> 页面找不到了 </body> </html>`session配置
总结
以上是生活随笔为你收集整理的django的ajax_cookie和session的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: django中的ajax_post请求
- 下一篇: django的ajax_get请求