Cookie是什么?

cookie说的直白点就是保存在用户浏览器端的一个键值对,举个例子,你现在登录了京东商城,你把浏览器关闭之后,你再打开京东,你还是可以对你的账户继续操作,已经购买的商品,订单都是可以看到的,这个就是cookie起了作用。那为什么你再次打开的时候,就直接是已经登录状态了,京东的服务端是怎么知道你已经登录的哪,其实就是cookie起了作用,就是你在登录的时候京东对你的浏览器设置了cookie,你登录的时候它把你的账号密码写到了你浏览器的cookie里面,你下次打开京东的时候,它就默认把你浏览器里面的cookie,也就是你的账号密码发送到了京东的服务端,这样的话,京东就知道你已经登录,所以你再打开jd的时候就是已经登录的状态了,很多网站上面的记住我、30天不需要登录就是用的cookie,前面也说了cookie是存在本地的,如果你清理了浏览器的cookie,那么cookie就没有了,你就是未登录的状态了。

Session是什么?

上面说了cookie,提到cookie肯定不能少了session,什么是session呢,说直白点,就是保存在服务端的一个键值对。举个例子,还是京东,登录的时候已经把账号密码写到cookie里面了,咱们再去打开京东页面的时候,浏览器会自动把京东这个网站下面的cookie发给京东的服务端,也就是cookie里面存的东西,账号密码发到京东的服务端了,那发过去了,京东的服务端肯定是要验证一下,你发的账号密码对不对,要不然你知道谁的账号了,你随便伪造一个cookie发给京东那就直接能操作别人的账号了,那就不安全了。那怎么办呢,服务端就也保存一个键值对不就行了,那你把cookie发过来的时候,和我这保存的这个键值对一样不就ok了,这个就是session,其实就是保存在服务端的一个键值对。

有的人可能会问了,那你的账号密码肯定都是存在数据库里面的,完全不用session啊,cookie发过来的时候,我直接从数据库里面查到这个用户的账号密码做比较就好了,这样当然是可以的,但是我想说你太年轻了,你想如果打开一个网站,里面很多页面都是要验证一下你的登录状态的,那你每次验证登录状态都要去操作数据库,我们都知道计算机在处理数据的时候,都是先从硬盘上取数据然后放到内存里面,内存再给cpu,cpu来进行处理(看下面的图),CPU的处理速度是很快的,就像火箭一样,内存的存取的速度就像高铁的速度一样,而硬盘的读取速度就像普通的汽车一样,而数据库里面的数据都是存在硬盘上的,每次去校验一下账号密码从数据库里面取数据,那效率就很低了。一般session都是存在缓存里面,因为要经常用到,要提升性能,直接把seesion放到内存里面,这样子的话,查的时候直接在内存里面取数据了,就很快了,像一些缓存数据库,redis、memcached这些都是把数据直接存到内存里面的。

cookie管理器:
可以登录后进行cookie存储和获取。
也可以存好了cookie进行使用,最好区分线上和线下。各种场景下使用哪套cookie。excel维护
获取时支持各种策略获取,比如唯一获取使一次少一个,也可以根据手机号或者uid获取cookie

也可以顺便存下手机号uid之类的信息
也可以大气点做个帐号管理器

 1、业务方不调登录接口获取cookie,直接从cookie服务获取cookie
2、业务方获取cookie后,cookie服务标注该cookie被使用
3、业务方使用完cookie后,cookie服务提供一个归还cookie的接口,把cookie还回去

cookie跟session自我介绍的更多相关文章

  1. Cookie和Session 简单介绍

    cookie :     1.cookie是存在客户端(浏览器)的进程内存中和客户端所在的机器硬盘上     2.cookie只能能够存储少量文本,大概4K大小     3.cookie是不能在不同浏 ...

  2. cookie和session的介绍

    1.cookie和session cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此产生cookie. cookie的工作原理是:由服务器产生 ...

  3. Cookie和Session的介绍与认识

    Cookie: cookie是一种客户端的状态管理技术. 当浏览器向服务器发送请求的时候,服务器会将少量的数据以set-cookie消息头的方式发送给浏览器,当浏览器再次访问服务器时,会将这些数据以c ...

  4. Cookie和Session的总结

    1.开篇 在之前学习这一段的时候我一直有点没弄清楚,其实对Session这块的理解还可以,但是Cookie感觉始终还是欠缺点火候.之后的很长一段时间都基本上很少用Cookie了,渐渐的也淡忘了这一块的 ...

  5. 前端Cookie与Session的区别

    我们在实际生活中总会遇到这样的事情,我们一旦登录(首次输入用户名和密码)某个网站之后,当我们再次访问的时候(只要不关闭浏览器),无需再次登录.而当我们在这个网站浏览一段时间后,它会产生我们浏览的记录, ...

  6. 前端页面——Cookie与Session有什么区别

    我们在实际生活中总会遇到这样的事情,我们一旦登录(首次输入用户名和密码)某个网站之后,当我们再次访问的时候(只要不关闭浏览器),无需再次登录.而当我们在这个网站浏览一段时间后,它会产生我们浏览的记录, ...

  7. 【10】Cookie和Session

    一.cookie和session的介绍 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要"保持状态",因此cookie就是在这样一个场景下 ...

  8. Django(十)COOKIE和session

    https://www.cnblogs.com/haiyan123/p/7763169.html from django.shortcuts import render,redirect # Crea ...

  9. Python框架----cookie和session

    一.cookie和session的介绍 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生. cookie ...

随机推荐

  1. Reinforcement Learning Solutions Ed2 Chapter 1 - 2 问题解答

    RL到了第三章题目多的不可思议 前两章比较简单,就在博客随便写写了.之后的用pdf更新. 1.1: Self-play will result different move even from the ...

  2. 项目Alpha冲刺(2/10)

    1.项目燃尽图 2.今日进度描述 项目进展 完成数据库和服务器的连接部分,完成了一些应用的基本功能. 问题困难 第一次使用服务器,配置环境部署项目都花了很长时间,学习中存在许多问题. 心得体会 应该早 ...

  3. python自定义封装logging模块

    #coding:utf-8 import logging class TestLog(object): ''' 封装后的logging ''' def __init__(self , logger = ...

  4. CodeForces 587 E.Duff as a Queen 线段树动态维护区间线性基

    https://codeforces.com/contest/587/problem/E 一个序列, 1区间异或操作 2查询区间子集异或种类数 题解 解题思路大同小异,都是利用异或的性质进行转化,st ...

  5. mysql GTID

    之前一直通过binlog主从同步,现在发现GTID这种方式,记录一下,具体可参考网上教程.感觉配置使用更为简单方便,不知实际效果如何.

  6. node命令行工具—cf-cli

    音乐分享: 钢心 - <龙王> 初喜<冠军>后喜<龙王> (PS:听一次钢心乐队的演出后采访才知道 “龙王”隐喻的是一起喝酒的老铁....) ——————————— ...

  7. 记一次简单的GetShell案例

    案例链接: http://202.112.51.184:8007/ 打开链接,发现分了多个页面: 挨个点击,大概清楚是上传指定格式的文件然后在搜索的时候使文件执行从而GetShell,观察发现点击每个 ...

  8. 手把手设计MyBatis

    最近趁热打铁,研究了一下Mybatis.MyBatis框架的核心功能其实不难,无非就是动态代理和jdbc的操作,难的是写出来可扩展,高内聚,低耦合的规范的代码. 本文完成的Mybatis功能比较简单, ...

  9. python单元测试框架unittest总结

    unittest.TestCase:TestCase类,所有测试用例类继承的基本类. class BaiduTest(unittest.TestCase): TestCase类的属性如下: setUp ...

  10. HashMap 和 Hashtable 的 6 个区别

    HashMap 是非常重要且常用的一种集合,还有一个和它类似的集合即Hashtable,有必要知道它们之间的区别. 1.线程安全: Hashtable 是线程安全的,HashMap 则不是线程安全的. ...