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、session的自我介绍的更多相关文章

  1. cookie和session的自我介绍

    Cookie是什么? cookie说的直白点就是保存在用户浏览器端的一个键值对,举个例子,你现在登录了京东商城,你把浏览器关闭之后,你再打开京东,你还是可以对你的账户继续操作,已经购买的商品,订单都是 ...

  2. cookie,session,token介绍

    本文目录 发展史 Cookie Session Token 回到目录 发展史 1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档 ...

  3. 【转】Cookie/Session机制详解

    Cookie/Session机制详解   会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息 ...

  4. Django之cookie+session

    前言 HTTP协议 是短连接.且状态的,所以在客户端向服务端发起请求后,服务端在响应头 加入cokie响应给浏览器,以此记录客户端状态: cook是来自服务端,保存在浏览器的键值对,主要应用于用户登录 ...

  5. node.js cookie session使用教程

    众所周知,HTTP 是一个无状态协议,所以客户端每次发出请求时,下一次请求无法得知上一次请求所包含的状态数据,如何能把一个用户的状态数据关联起来呢? cookie 首先产生了 cookie 这门技术来 ...

  6. cookie session token详解

    cookie session token详解 转自:http://www.cnblogs.com/moyand/ 发展史 1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, ...

  7. Python自动化运维 - Django(三)CSRF - Cookie&Session

    CSRF跨站请求伪造 CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:攻击者盗用了你的身份,以你的名义发送恶意请求 ...

  8. 基于requests模块的cookie,session和线程池爬取

    目录 基于requests模块的cookie,session和线程池爬取 基于requests模块的cookie操作 基于requests模块的代理操作 基于multiprocessing.dummy ...

  9. cookie/session在nodes中的实战

    cookie 和 session 众所周知,HTTP 是一个无状态协议,所以客户端每次发出请求时,下一次请求无法得知上一次请求所包含的状态数据,如何能把一个用户的状态数据关联起来呢? 比如在淘宝的某个 ...

随机推荐

  1. python-day6---运算符

    #了解部分#字符串+,*#列表:+,*# l1=[1,2,3]# l2=[4,5]## print(l1+l2)# print(l1*3) #比较运算符# num1=3# num2=1 # print ...

  2. HDU-3506 Monkey Party (环形石子合并)

    题目大意:n堆石子围成一圈,每堆石子的块数已知,每次可以将相邻的两堆合并到一堆,块数变为两堆之和,代价也为两堆石子块数之和.求合并到一堆的最小代价. 题目分析:先通过将前n-1依次个移到第n个后面,将 ...

  3. 安装 Android Studio

    安装 Android Studio 只需轻松点击几下.(您需要已下载 Android Studio.) 若使用 JDK 1.8,在 Mac 系统上运行 Android Studio 可能出现一些已知的 ...

  4. SSH 绑定本地端口

    SSH可以传送数据,那么我们可以让那些不加密的网络连接,全部改走SSH连接,从而提高安全性. 假定我们要让8080端口的数据,都通过SSH传向远程主机,命令就这样写: $ user@host SSH会 ...

  5. 使用python,将excel数据批量导入数据库

    这是上一篇文章的优化版本,相较于一条一条的执行sql语句,本文中,将excel中所有的数据先写到list列表中 在通过函数 cursor.executemany(sql, list) 一次性写入到数据 ...

  6. 若所有的参数皆需要类型转换——请为此采用non-member函数

    若所有的参数皆需要类型转换--请为此采用non-member函数 经常使用C++的程序猿(希望更多的程序媛),一般不会同意让classes支持类型转换,至于为什么,请看后续的博客.假如我们设计一个表示 ...

  7. ZOJ 3829 Known Notation 贪心 难度:0

    Known Notation Time Limit: 2 Seconds      Memory Limit: 65536 KB Do you know reverse Polish notation ...

  8. jquery ajax和php实现返回值 json类型

    js页面 $.ajax({ type: “POST”, dataType: ‘json’, url: “add_vote.php”, data: “touid=”+uid+”&touserna ...

  9. 基于Dlib、OpenCV开发人脸识别程序的开发建议

    前言 在去年十月的时候参加了一个小比赛,做了一个人脸识别程序并很意外地获得省里面的一等奖,视频演示链接在这里,有同学想要做这方面的毕业设计or课程设计,发一篇博客来分享一下当时的开发过程. 视频演示链 ...

  10. DevExpress WPF入门指南:加载动画的应用

    LoadingDecorator是一个容器控件用于显示 long-loading 的内容.内容还没加载完成的时候会显示一个加载指示器,加载完成后指示器消失,如下图所示: 开启LoadingDecora ...