Cookie和Session详解
1.什么是Cookie
Cookie是存放在客户端浏览器的Name/Value键值对,访问服务器时,会自动传递给服务器。
Cookie的生成方式有两种,服务器写入,客户端写入。

2.Cookie的分类
会话Cookie:保存在浏览器内存中,关闭浏览器,Cookie便被销毁了。
普通Cookie:保存在硬盘上,设置了过期时间,过期后销毁。

3.Cookie的特点
http协议是无状态的,即每次请求间独立,不记录每次请求参数信息。
Cookie可以在同一域名的不同页面间传递信息
Cookie会传递给服务器,不管这些参数服务器是否需要。
cookie是和域名对应的,不同域名间的cookie不能相互访问。

4.Cookie的典型应用
很多网站登录时,都有记住密码功能,实际上是把登录用户信息,写入cookie,这样每次登录不需要重新输入,
判断Cookie值存在,则直接登录。
这里有个疑问,能否在cookie中增加用户信息,伪造成登录状态?这里涉及到cookie欺骗的问题,直接在客户端浏览器是无法修改的,
因为cookie只允许对应的域名访问,修改。

5.什么是Session
与Cookie不同,Cookie存放在客户端浏览器或硬盘,而Session存放在服务器端。
客户端浏览器第一次访问服务端时,服务端会返回一个唯一的ID(Sessionid),给客户端,来作为这次客户端和服务端连接会话的唯一标志。
这个Sessionid会被客户端以Cookie的方式存放在浏览器的内存中,当浏览器关闭时,这次会话就结束了,客户端Sessionid值销毁了。
再次访问,会产生一个新的Sessionid。服务端旧的Session并不随客户端Sessionid变化,会一直存在,当到达有效期以后,服务端旧的Session才会销毁。

6.Session的特点,以及和Cookie的区别
Session是放在服务端的,减少了客户端数据的传输。
Session较Cookie来说,不存在Cookie欺骗,相对更加安全。
Session放在服务端,当访问较多,会比较占用服务器的性能,此时应考虑使用Cookie
重要信息放在Session中,普通信息放Cookie
Session和Cookie都可以用于登录验证,对Session来说,当浏览器关闭或者Session失效后,再次访问Sessionid会变更,因此需要重新登录;而Cookie在设置的有效期结束后,需要重新登录。

7.sessionStorage,localStorage和Cookie的区别
sessionStorage,localStorage,Cookie都放在客户端浏览器,区别在于
sessionStorage,localStorage存放的参数,不会主动传递给服务器端,解决了无用参数传递的问题。
sessionStorage和localStorage比较,sessionStorage存放在浏览器内存,关闭浏览器后就销毁了;localStorage存放在硬盘,到达有效期后销毁。

cookie,session,localStage,sessionStage区别的更多相关文章

  1. Django2.2 会话技术cookie session token的区别以及实例介绍

    一.区别: 本人见解:使用自定义数据项进行加密,作为唯一身份识别,登陆时写入cookie(session基于这个).在显示相关数据 1.cookie 属于客户端会话技术(数据存储在客户端) 默认的Co ...

  2. cookie session localstorage sessionStorage区别

    cookie:http://www.cnblogs.com/Darren_code/archive/2011/11/24/Cookie.html 重要特点: 1.cookie 有大小设置,有过期时间设 ...

  3. Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期

    servlet的404错误困扰了两天,各种方法都试过了,翻书逛论坛终于把问题解决了,写此博客来纪念自己的第一个servlet经历. 下面我会将自己的编写第一个servlet的详细过程提供给初学者,大神 ...

  4. Java cookie和session介绍与区别

    一.cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 同时我们也看到,由于才服务器端保持状态的 ...

  5. Asp.net 服务器Application,Session,Cookie,ViewState和Cache区别

    2.8 Context 的使用Context 对象包含与当前页面相关的信息,提供对整个上下文的访问,包括请求.响应.以及上文中的Session 和Application 等信息.可以使用此对象在网页之 ...

  6. Cookie和Session简介与区别

    1.Cookie和Session简介与区别 在非常多时候,我们需要跟踪浏览者在整个网站的活动,对他们身份进行自动或半自动的识别(也就是平时常说的网站登陆之类的功能),这时候,我们常采用Cookie与 ...

  7. cookie机制和session机制的区别(面试题)

    一.cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 同时我们也看到,由于才服务器端保持状态的 ...

  8. POPTEST老李分享session,cookie的安全性以及区别 1

    POPTEST老李分享session,cookie的安全性以及区别   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程 ...

  9. 浅谈session,cookie,sessionStorage,localStorage的区别及应用场景

    浏览器的缓存机制提供了可以将用户数据存储在客户端上的方式,可以利用cookie,session等跟服务端进行数据交互. 一.cookie和session cookie和session都是用来跟踪浏览器 ...

随机推荐

  1. 一次SQL查询语句的优化

    1.项目中之前的"我关注的拍品列表"需要添加筛选功能,因为目前显示的关注的拍品太多没有进行分类,用户体验差. 2.添加筛选条件之后,可以筛选出“未开始”“进行中”“已结束”三种情况 ...

  2. Python学习(五)函数 —— 内置函数 lambda filter map reduce

    Python 内置函数 lambda.filter.map.reduce Python 内置了一些比较特殊且实用的函数,使用这些能使你的代码简洁而易读. 下面对 Python 的 lambda.fil ...

  3. django的动态url,url里含有参数,含有参数的url

    #!/usr/bin/env python # coding:utf- from django.conf.urls import url,include from django.contrib imp ...

  4. poj 3258 River Hopscotch 题解

    [题意] 牛要到河对岸,在与河岸垂直的一条线上,河中有N块石头,给定河岸宽度L,以及每一块石头离牛所在河岸的距离, 现在去掉M块石头,要求去掉M块石头后,剩下的石头之间以及石头与河岸的最小距离的最大值 ...

  5. OpenERP|odoo Web开发

    在OpenERP 7 和 Odoo 8下测试均可. 1.相关库/框架 主要:jQuery(使用1.8.3,如果使用新版本,其他jQuery插件也要升级或修改).Underscore.Qweb 其他:都 ...

  6. 开源 免费 java CMS - FreeCMS1.5-数据对象-info

    下载地址:http://code.google.com/p/freecms/ info 在信息页静态化时,系统会自动向模板文件传递currInfo对象,此对象存储当前信息.在使用信息相关标签时,标签会 ...

  7. 缩进与对齐——正确地使用Tab和空格

    写代码时大家都会使用缩进(indentation)和对齐(alignment),这是两个相关而又不同的概念,两者都是为了提高代码的可读性.缩进出现在一行的最左边,目的是明显地区分开包含与被包含的代码: ...

  8. luigi框架--关于python运行spark程序

    首先,目标是写个python脚本,跑spark程序来统计hdfs中的一些数据.参考了别人的代码,故用了luigi框架. 至于luigi的原理 底层的一些东西Google就好.本文主要就是聚焦快速使用, ...

  9. RS请求错误之RSV-BBP-0028

    环境:Version  Cognos10.2 单机 非集群 运行报表的时候经常遇到: 错误信息为: The secondary request failed. The requested sessio ...

  10. (剑指Offer)面试题53:正则表达式匹配

    题目: 请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式. ...