cookie

Django基础之cookie

孤街浪徒 提交于 2020-02-12 23:45:18
1. Cookie 1.1 Cookie的由来 大家都知道HTTP协议是无状态的。无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系, 它不会受前面的请求响应情况直接影响, 也不会直接影响后面的请求响应情况。 一句话来概括, 对于服务器来说, 每次的请求都是全新的。 状态可以理解为客户端和服务器在每次会话中产生的数据, 那无状态的就以为这些数据不会被保留. 会话中产生的数据又是我们需要保存的, 也就是说要"保持状态". 因此Cookie就是在这样一个场景下诞生。 1.2 什么是Cookie Cookie具体指的是一段小信息, 它是服务器发送出来存储在浏览器上的一组组键值对, 下次访问服务器时浏览器会自动携带这些键值对, 以便服务器提取有用的信息。 1.3 Cookie的原理 cookie的工作原理是: 由服务器产生内容, 浏览器收到请求后保存在本地; 当浏览器再次访问时, 浏览器会自动带上Cookie, 这样服务器就能通过Cookie的内容来判断这个是"谁"了。 1.4 查看Cookie 我们使用Chrome浏览器, 打开开发者工具.。 2. Django中操作Cookie 2.1 获取cookie request.COOKIES["key"] request.get_signed_cookie("key", default=RAISE

Django之Cookie

自古美人都是妖i 提交于 2020-02-12 23:37:09
Cookie 在浏览器端(客户端)保存的键值对,特性:每次http请求都会携带. 举个例子:{"name":身份证号} 1丶获取cookie request.COOKIE['key'] request.get_signed_cookie(key,default=RAISE_ERROR,salt='',max_age=None) 参数: default:默认值 salt:加密盐 max_age:后台控制过期时间 2丶设置Cookie def cook2(request): prnt(request.COOKIES) #print(request.get_signed_cookie('k2',None,salt='uuu')) #rep = HttpResponse('ok') #rep.set_cookie('k1',123) #rep.set_signed_cookie('k2',666,salt='uuu') rep = HttpResponse('ok') return rep 3丶Cookie的参数 rep.set_cookie(key,value,...) rep.set_signed_cookie(key,value,salt='加密盐',...) 参数: key, 键 value='', 值 max_age=None, 超时时间, 单位是秒 expires=None,

cookie and session

给你一囗甜甜゛ 提交于 2020-02-12 23:27:45
cookie 定义: 保存在浏览器上的一组组键值对 特性: 服务器让浏览器保存的cookie 浏览器有权利进行不设置 下次访问时自动携带响应的cookie Django中的操作 设置: ret.set_cookie('is_login', '1') # 设置cookie 超时时间 max_age=5 路径 path='/home/' ret.set_signed_cookie('is_login', '盐', 'day66') # 设置加密cookie 获取: request.COOKIES.get('is_login') # 不加密的cookie request.get_signed_cookie('is_login',salt='盐',default='xx') # 加密cookie 删除 ret.delete_cookie('is_login') # Set-Cookie: is_login=""; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/ session 定义: 保存在服务器端的一组组键值对 为什么使用session: cookie的长度和个数受到限制 cookie保存在浏览器本地不安全 Django的操作 设置: request.session['is_login'] = '1' #

cookie & session

泪湿孤枕 提交于 2020-02-12 23:25:23
cookie & session cookie cookie 即具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息 cookie 的原理 由服务器产生内容,浏览器收到请求后保存在本地;当浏览器再次访问时,浏览器会自动带上Cookie,这样服务器就能通过Cookie的内容来判断这个是“谁”了。 Django中操作cookie 获取cookie def get_cookie(request): print(request.COOKIES) # 字典的取值 name = request.COOKIES.get('name') # 推荐使用 # name = request.COOKIES['name'] print(name) # 拿到jack return HttpResponse('ok') 加盐的cookie def salt_cookie(request): obj = HttpResponse('ok') # 加盐 set_signed_cookie 后面参数 salt 必须要传 obj.set_signed_cookie('name','jack',salt='asd',max_age=None) return obj # 加盐后的结果 # name=jack:1gPnyX:2f

Django之Cookie

北战南征 提交于 2020-02-12 23:22:57
cookie是什么? 保存在浏览器端“键值对” 服务端可以向用户浏览器端写cookie 客户端每次发请求时,会携带cookie去 应用场景: 投票 用户登录 1、获取Cookie: request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None) 参数: default: 默认值 salt: 加密盐 max_age: 后台控制过期时间 2、设置Cookie: rep = HttpResponse(...) 或 rep = render(request, ...) rep.set_cookie(key,value,...) rep.set_signed_cookie(key,value,salt='加密盐',...) 参数: key, 键 value='', 值 max_age=None, 超时时间 expires=None, 超时时间(IE requires expires, so set it if hasn't been already.) path='/', Cookie生效的路径,/ 表示根路径,特殊的:跟路径的cookie可以被任何url的页面访问 domain=None, Cookie生效的域名 secure=False, https传输

HTML5 Web存储(localStorage与sessionStorage)

只谈情不闲聊 提交于 2020-02-12 21:12:02
HTML5 提供了两种在客户端存储数据的新方法:localStorage与 sessionStorage. localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的;sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。之前,这些都是由cookie完成的。但是cookie不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得cookie 速度很慢而且效率也不高。简单的说本地存储是HTML5的一部分。更为详细准确的说是本地存储过去是HTML5的标准中的一部分,而后来由于有些工作组的人表示HTML5太庞大了,于是就剥离出来作为一个单独的标准。 新建一个前端学习qun438905713,在群里大多数都是零基础学习者,大家相互帮助,相互解答,并且还准备很多学习资料,欢迎零基础的小伙伴来一起交流。 在HTML5中,数据不是由每个服务器请求传递的,而是只有在请求时使用数据。它使在不影响网站性能的情况下存储大量数据成为可能。对于不同的网站,数据存储于不同的区域,并且一个网站只能访问其自身的数据。HTML5 使用JavaScript来存储和访问数据

cookie可视化操作工具---EditThisCookie

守給你的承諾、 提交于 2020-02-12 15:28:09
很多小伙伴在使用chrome开发时,cookie较难实时监测和操作浏览,需要在控制台查看,所以很多都会选择使用Firefox火狐浏览器操作。 今天给大家介绍个cookie可视化操作工具EditThisCookie (1)首先需要到谷歌访问助手打开chrome网上应用店,注意:这里如果没有谷歌访问助手,则需要首先下载,否则无法翻墙下载。 (2)打开后直接搜索EditThisCookie,在列表里选择添加即可    下载完毕后右上角会有EditThisCookie扩展程序标记,此时点击就会出现该网站相关cookie信息,可以进行编写删除操作    (3)例如现在我们登录淘宝,查看我的足迹      现在账号是登录状态      接下来我们可以通过EditThisCookie工具来查看删除cookie,删除后便会退出当前登录状态,如下所示       . 来源: https://www.cnblogs.com/jianxian/p/12298921.html

cookie和session

自作多情 提交于 2020-02-12 14:48:09
1、什么是cookie和session? cookie是网站用来辨别用户身份,进行会话跟踪,存储在本地终端上的数据。 session(会话)起来本含义是指有始有终的一系列动作和消息。在web中,session主要用来在服务器端存储特定用户对象会话所需要的信息。 2、cookie和session产生的原因: http协议是一个无状态协议,在特定操作的时候,需要保存信息,进而产生了cookie和session。 3、cookie原理: 由服务器来产生,浏览器第一次请求,服务器发送给客户端进而保存。 浏览器继续访问时,就会在请求头的cookie字段上附带cookie信息,这样服务器就可以识别是谁在访问了。 但是cookie存在缺陷: 1、不安全--本地保存,容易被篡改。 2、大小受限,本身最大4kb。 cookie虽然在一定程度上解决了‘保持状态’的需求,但是我们希望有一种新的技术可以克服cookie缺陷,这种技术就是session。 4、session原理: session在服务器保存。----解决安全问题。 问题来了:服务器上的session,但是客户端请求发送过来,服务器如何知道session_a,session_b,到底和那个请求对应。 所以为了解决这个问题:cookie就作为这个桥梁。在cookie有一个sessionid字段

node通过session保存登录状态

佐手、 提交于 2020-02-12 11:38:51
本文介绍下node通过session保存登录状态 (1)需求分析   1、登录成功后下拉框显示当前登录用户:xxx;2、隐藏登录和注册按钮。这里便需要用到session      关于cookie和session详见文章 node之cookie和session对比 . (2) (3) (4) . 来源: https://www.cnblogs.com/jianxian/p/12298132.html

跨服务器之间的session共享

大兔子大兔子 提交于 2020-02-12 06:56:25
跨服务器之间的Session共享方案需求变得迫切起来,最终催生了多种解决方案,下面列举4种较为可行的方案进行对比探讨: 1. 基于NFS的Session共享 NFS是Net FileSystem的简称,最早由Sun公司为解决Unix网络主机间的目录共享而研发。 这个方案实现最为简单,无需做过多的二次开发,仅需将共享目录服务器mount到各频道服务器的 本地session目录即可,缺点是NFS依托于复杂的安全机制和文件系统,因此并发效率不高,尤其对于session这类高并发读写的小文件, 会由于共享目录服务器的io-wait过高,最终拖累前端WEB应用程序的执行效率。 2. 基于数据库的Session共享 首选当然是大名鼎鼎的Mysql数据库,并且建议使用内存表Heap,提高session操作的读写效率。这个方案的实用性比较强,相信大家普遍在 使用,它的缺点在于session的并发读写能力取决于Mysql数据库的性能,同时需要自己实现session淘汰逻辑,以便定时从数据表中更新、删除 session记录,当并发过高时容易出现表锁,虽然我们可以选择行级锁的表引擎,但不得不否认使用数据库存储Session还是有些杀鸡用牛刀的架势。 3. 基于Cookie的Session共享 这个方案我们可能比较陌生,但它在大型网站中还是比较普遍被使用。原理是将全站用户的Session信息加密