用 Python 描述 Cookie 和 Session
这篇文章我们来聊聊Cookie和Session,网上有很多关于这两个知识点的描述,可惜的是大部分都没有示例代码,因此本文的重点在于示例代码。
环境
Python3.6.0
Bottle0.12.15
安装bottle
pipinstall bottle
Cookie
HTTP是一种无状态协议,简单来说就是如果A第一次访问了B服务器,那么A第二次访问B服务器时,B服务器并不知道这次访问是否还是来自A。B服务器只负责接收网络信息包,传递网络信息包。这样速度很快,但是很不方便,B服务器不会记录A的数据。
为此,人们发明了Cookie,Cookie利用了HTTP中的Headers字段
现在A每次访问时都带上cookie,B服务器就可以获得A的cookie,这样B服务器就能记住一些东西
假如说我们现在要统计A一共访问了几次B服务器,我们可以编写以下代码
cookie.py
需要说明一点:在整个传输过程中传输的是字符,如果传进去一个整数,那么会报错,因此数字必须转换为字符
执行python cookie.py
Session
Session一般用于登录功能,我们利用Cookie实现了有状态的传输,那么完全可以设置一个id,每次访问的时候都会带上这个id,这样B服务器就能够识别是谁访问了
一般来说,拿到id之后会存储在数据库里面,为了方便起见,在这里只存储到字典里面
session.py
执行
python session.py
转载于:https://juejin.im/post/5ca1ca28f265da30cb0c42ad
用 Python 描述 Cookie 和 Session相关推荐
- 描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。
作用: 服务器可以利用Cookies或Session包含信息的任意du性来筛选并经常性维护这些信息,以判断zhi在HTTP传输中的状态.它们dao最典型的应用是判定注册用户是否已经登录网站,用户可能会 ...
- 【Python】Cookie 和 Session
前言 最近在学习 Python 网络编程,已经实现了简单的服务器和浏览器的信息交互.正在进一步学习 Cookie 和 Session(可能还有 Token),所以写一篇随笔来加深自己的理解. 一.Co ...
- 简要描述cookie和session的区别:
1,session存放在服务器端,cookie存放在客户端. 2,session会随着会话的结束而关闭,cookie则存放在客户端浏览器上长期有效. 3,session保存的是对象,cookie保存的 ...
- 网络:.cookie和session原理及区别
一.Cookie详解 (1)简介 因为HTTP协议是无状态的,即服务器不知道用户上一次做了什么,这严重阻碍了交互式Web应用程序的实现.在典型的网上购物场景中,用户浏览了几个页面,买了一盒饼干和两饮料 ...
- Cookie和Session的作用和工作原理
一.Cookie详解 (1)简介 因为HTTP协议是无状态的,即服务器不知道用户上一次做了什么,这严重阻碍了交互式Web应用程序的实现.在典型的网上购物场景中,用户浏览了几个页面,买了一盒饼干和两饮料 ...
- python自动化接口测试中的cookies怎么实现_Python接口自动化之cookie、session应用
------·今天距2021年260天·------ 这是ITester软件测试小栈第112次推文 在上一篇Python接口自动化测试系列文章:Python接口自动化-requests模块之post请 ...
- python如何使用session和cookie_django进阶之cookie和session的使用示例
Cookies :是浏览器为 Web 服务器存储的一小段信息. 每次浏览器从某个服务器请求页面时,它收到服务器回发送过来的cookies.它保存在浏览器下的某个文件夹下. Session:Django ...
- python socket编程:实现redirect函数、cookie和session
在Flask框架中有一个redirect函数,用于实现页面的跳转,现在我们来实现它.原理就是:当浏览器接受到服务器响应的状态码是301或者302时,表示请求的页面已经永久或临时性转移到了新的位置,而这 ...
- python爬虫之---------------cookie和session
cookie 1. cookie的由来: 大家都知道HTTP协议是无状态的. 无状态:是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响, ...
最新文章
- Linux中检查本地系统上的开放端口列表的方法
- 洛谷P2730 [IOI]魔板 Magic Squares
- 20190318-使用类做一个简单的图书馆管理系统
- Spring自定义注解简单使用四步走
- python中的urllib库_python3里的Urllib库
- Java基础——构造代码块
- windows vs编译环境 python_Python虚拟环境使用(Windows)
- 那个代工 iPhone 的富士康投了 21 亿要做 AI 研发
- jQuery实现选择“学科门类”、“学科大类(一级学科)”、“专业”(二级学科)实现三级联动
- 嵌入式工程师必须知道的一些好网站
- 计算机专业保研面试备考:高等数学
- 降维(Dimensionality Reduction) 是机器学习中的一种重要的特征处理手段
- 8255并行接口与交通灯控制
- 西北大学本科毕业论文答辩PPT模板
- Prege(图计算框架)
- 蓝牙耳机哪款好用?这些选购小技巧帮你选到更适合你的蓝牙耳机!
- 墨绘学:向孩子敞开心扉
- Axure交互-鼠标移入移除显示与隐藏
- K8s 所有常用端口
- matlab绕圆柱有环量流线,绕圆柱无环量和有环量流动流线分布图
热门文章
- C语言之文件读写探究(二):fputc、fgetc、feof(一次读写一个字符(文本操作))
- php批量getshell,任意文件上传引发的批量Getshell到服务器 - WileySec's Blog
- 鸢尾花分类_基于鸢尾花(iris)数据集的逻辑回归分类实践
- c语言入门函数大全,C语言函数大全(适合初学者).doc
- mysql sql option_MySQL 报错MySQL server syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT'
- java duplicate parameter e_传递参数[duplicate]时出现问题
- vue中 点击事件的写法_vue基础之事件v-onclick=函数用法示例
- java命令添加classpath_java和javac命令的classpath用法
- vscode不同系统的回退,前进,跳转操作
- eemd优缺点_基于EEMD的信号处理方法分析和实现