Cookie:

 用来跟踪用户的会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。

Cookie机制

  在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二者不能混淆。例如,用户A在超市购买的任何商品都应该放在A的购物车内,不论是用户A什么时间购买的,这都是属于同一个会话的,不能放入用户B或用户C的购物车内,因为他们不属于同一个会话。

  而Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。即用户A购买了一件商品放入购物车内,当再次购买商品时服务器已经无法判断该购买行为是属于用户A的会话还是用户B的会话了。要跟踪该会话,必须引入一种机制。

  Cookie就是这样的一种机制。它可以弥补HTTP协议无状态的不足。在Session出现之前,基本上所有的网站都采用Cookie来跟踪会话。

  

Cookie意为“甜饼”,是由W3C组织提出,最早由Netscape社区发展的一种机制。目前Cookie已经成为标准,所有的主流浏览器如IE、Netscape、Firefox、Opera等都支持Cookie。

由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理

Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。

  

转载于:https://www.cnblogs.com/george92/p/7344113.html

Django-----中间件Cookie相关推荐

  1. Python 之 Django框架( Cookie和Session、Django中间件、AJAX、Django序列化)

    12.4 Cookie和Session 12.41 cookie Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务 ...

  2. Day 63 django 中间件、cookie、session

    Day 63 django 中间件.cookie.session 文章目录 Day 63 django 中间件.cookie.session 1.cookie与session 简介 2.django操 ...

  3. 利用django中间件CsrfViewMiddleware防止csrf攻击

    一.在django后台处理 1.将django的setting中的加入django.contrib.messages.middleware.MessageMiddleware,一般新建的django项 ...

  4. Django - 中间件

    Django - 中间件 一. 什么是中间件 官方: 中间件是一个用来处理Django的请求和相应的框架级别的钩子, 他是一个轻量, 低级别的插件系统, 用于在全局范围内改变Django的输入和输出, ...

  5. django view返回form error_Django(解决被钓鱼CSRF、Django中间件、反射)

    今日内容概要 django中间件 全局用户身份校验 全局用户权限校验(补充) 全局访问频率校验 ... csrf跨站请求伪造 基于django中间件一个重要的编程思想(反射) https://www. ...

  6. Django之Cookie和 Session

    简单版 1.Cookie:保存在客户端浏览器上的键值对 Django操作cookie obj = HttpResponse() return obj obj = render() return obj ...

  7. Django-13:django中间件

    Django-13:django中间件 django中间件 一.自定义中间件 1.1 步骤 1.2 process_request 1.3 process_response 1.3 其他 二.csrf ...

  8. Django 中间件(middleware)的工作原理和应用场景举例

    在初级Django开发项目中,你大概率用不到中间件(Middleware).但随着项目需求越来越复杂,你就需要开始编写自己的中间件了.当你了解到Django中间件(middleware)的工作原理和作 ...

  9. django中间件和auth模块

    django中间件 首先django自带7个中间件,每个中间件都有各自对应的功能 并且django还支持程序员自定义中间件 在用django开发项目的时候,只要涉及到全局相关的功能都可以使用中间件方便 ...

  10. Django之Cookie、Session、CSRF、Admin

    Django之Cookie.Session.CSRF.Admin Cookie 1.获取Cookie: 1 2 3 4 5 6 request.COOKIES[ 'key' ] request.get ...

最新文章

  1. 英文句子改写在线软件_试完这些英文论文写作辅助神器,你会发现新大陆der~...
  2. mysql-front 无法连接本机mysql.
  3. opencv中 当你直接把别人的程序拖进去无法运行时 解决方法
  4. 0419 一些不错的UI作品,以后陆续更新
  5. 合并k个有序链表 python_leetcode第23题-合并K个有序链表
  6. 一看就会一做就废系列:说说 RECOVER UNTIL CANCEL
  7. matlab直流电机pid调速仿真,直流电机双闭环PID调速系统仿真设计
  8. 二手手机验机教程(不拆机)
  9. 浦发银行面试笔试经历
  10. 推荐系统中常用算法以及优点缺点对比
  11. 验证是不是合法的18位身份证号码代码
  12. 爬虫获取微博首页热搜
  13. 单片机四个按键做加减乘除功能
  14. 问题分析报告--读取ORC文件报seek错误
  15. 基于android的网上点餐系统设计,基于Android的点餐系统设计与实现
  16. ibatis3 一个小bug
  17. android框架服务 恶意软件,Android平台各类恶意软件及病毒概览
  18. 微推圈短视频获客系统添加视频的几种方法
  19. QT学习之路(一)ubuntu 18.04的Qt Creator在线安装
  20. cmd 定时关机 命令

热门文章

  1. 郑继明等《数值分析》习题解答
  2. MaxCompute平台非标准日期和气象数据处理方法--以电力AI赛为例
  3. 阿里百川IMSDK--自定义群聊界面
  4. C++Primer第5版学习笔记(三)
  5. Linux学习(lesson1)
  6. Windows上的svn仓库迁移(visualSVN)
  7. 推荐一些好书(PHP方向)
  8. CATransition 动画
  9. RouterOS全局限制速度和限制线程
  10. linux关闭网卡休眠_CentOS_Linux常用实用指令整理三:高级指令