文章来自于:http://blog.csdn.net/half1/article/details/21645545

一、cookie和session是什么?

 
cookie是服务器留在客户端中的小文件,常用于识别用户。
当你在浏览网站的时候,web服务器会先把一小块资料放在你的计算机上,cookie会帮你在网站上所打的文字或者一些选择都记录下来,存在客户端硬盘的文本中(通常是加密的),当你下次再浏览同一网站时,web服务器会先看看有没有它上次留下的cookie,有的话,就会依据cookie里的内容来判断使用者,送出特定的网页内容给你。
cookie的使用很普遍,许多有提供个人化服务的网站,都是利用cookie来辨认用户,以方便送出用户量身定做的内容。
 
session是一种保存上下文信息的机制,它是针对每一个用户的,变量的值保存在服务器端,通过sessionID来区分不同的客户。
session是以cookie或URL重写为基础的,默认使用cookie来实现。系统会创建一个名为SESSIONID的输出cookie,我们叫做session cookie,以区别persistent cookie(平常所说的cookie)。注意session cookie是存储于浏览器内存中的,并不是写到硬盘上的。
 

二、cookie和session是用来干什么的?

 
cookie和session是用来维持状态的。
http是无状态的协议,客户每次读取 web页面时,服务器都打开新的会话,而且服务器也不会自动维护客户的上下文信息,为了维持用户状态,就出现了cookie和session这两种机制。
 

三、cookie和session的原理

 
cookie机制采用的是在客户端保持状态的方案。
服务器通过在HTTP的响应头中加上一行特殊的指示一提示浏览器按照指示生成相应的cookie。
 
 
session机制采用的是在服务器端保持状态的方案。
当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含一个sessionID,如果已包含则说明以前已经为此客户端创建过session,服务器就按照sessionID把这个session检索出来使用(如果检索不到,可能会新建一个),如果客户端的请求不包含sessionID,则为此客户端创建一个session并且生成一个与此session相关联的sessionID。
sessionID的是一个既不会重复,又不容易被找到规律以仿造的字符串,这个sessionID将被本次响应中返回给客户端保存。
 

四、cookie和session的区别与联系

 
1)session保存在服务器,cookie保存在客户端。
2)session中保存的是对象,cookie中保存的是字符串。
3)session不能区分路径,同一个用户在访问义工网站期间,所有的session在任何一个地方都可以访问到。而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的。
4)session依赖于cookie,如果客户端完全禁止cookie,session将失效。

转:cookie和session(一)——原理的更多相关文章

  1. Cookie和Session的原理和异同

    Cookie和Session的原理和异同 原理: cookie: 1.创建Cookie 当用户第一次浏览某个使用Cookie的网站时,该网站的服务器就进行如下工作: ①该用户生成一个唯一的识别码(Co ...

  2. COOKIE和Session的原理及异同

    COOKIE和Session的原理及异同 1. cookie的创建和读取 cookie是客户端技术,服务器把每个用户的数据以cookie的形式写给用户各自的浏览器.当用户使用浏览器再去访问服务器中的w ...

  3. 正确理解cookie和session机制原理

    php中cookie和session是我们常用的两个变量了,一个是用户客户端的,一个用在服务器的但他们的区别与工作原理怎么样,下面我们一起来看看cookie和session机制原理吧. cookie和 ...

  4. 编写一篇博文介绍COOKIE和Session的原理及异同

    一.什么是cookie 1.概念 Cookie是存储在客户机的文本文件,它们保存了大量轨迹信息.在servlet技术基础上,JSP显然能够提供对HTTP cookie的支持. Cookie 是在 HT ...

  5. cookie和session的原理机制

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

  6. cookie、Session工作原理

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

  7. day4(cookie与session的原理及区别)

    1.COOKIE使用和优缺点 1.1 cookie原理:用户名+密码 cookie是保存在用户浏览器端,用户名和密码等明文信息 1.2session使用原理 session是存储在服务器端的一段字符串 ...

  8. Session 的原理及最佳实践

    Http协议是基于请求和响应的一种无状态的协议,而通过session可以使得Http应用变得有状态,即可以"记住"客户端的信息.今天就来说说这个session和cookie. Se ...

  9. 浅谈cookie和session

    Cookie简介 Cookie(复数形态Cookies),中文名称为“小型文本文件”,指某些网站为了辨别用户身份或存储用户相关信息而存储在用户本地终端(Client Side) 上的数据(通常为加密数 ...

随机推荐

  1. scipy安装失败

    pip install scipy安装失败 可以从uci网站下载wheel安装包然后执行pip install xx.whl进行安装 http://www.lfd.uci.edu/~gohlke/py ...

  2. 关于ETL的几种运行

    一:代码部分 1.新建maven项目 2.添加需要的java代码 3.书写mapper类 4.书写runner类 二:运行方式 1.本地运行 2. 3. 三:本地运行方式 1.解压hadoop到本地 ...

  3. 两种动态载入修改后的python模块的方法

    方案一:循环导入/删除模块 a.py import sys, time while True: from b import test test() del sys.modules(b) time.sl ...

  4. nginx 请求负载 转发规则设置

    (1)轮询(默认) weight=5;         #本机上的Squid开启3128端口,不是必须要squid         server 192.168.8.2x:80    weight=1 ...

  5. QQ群成员提取

    var ids = document.querySelectorAll(".member_id"); var names = document.querySelectorAll(& ...

  6. python中的TCP编程学习

    今天看了一下关于python的TCP编程. 发现思路和其他语言(比如java)思路基本上差点儿相同. 先看client.基本过程例如以下: 第一步:创建一个socket 第二步:建立连接 第三步:发送 ...

  7. 关于Xcode的Other Linker Flags

    背景 在ios开发过程中,有时候会用到第三方的静态库(.a文件),然后导入后发现编译正常但运行时会出现selector not recognized的错误,从而导致app闪退.接着仔细阅读库文件的说明 ...

  8. c++逆向 vector

    最近弄Android c/c++方面的逆向,发现c++的类,stl模板,在逆向的时候相比c语言都带来了不小的困难. 今天自己写了个小程序,然后逆向分析了一下 vector<int> arr ...

  9. 模拟电路"虚短" & "虚断"

    <虚短 & 虚断> 运算放大器组成的电路五花八门,令人眼花瞭乱,是模拟电路中学习的重点.遍观所有模拟电子技朮的书籍和课程,在介绍运算放大器电路的时候,无非是先给电路来个定性,比如这 ...

  10. 二分图最大匹配(匈牙利算法Dfs模板)

    #include<iostream> #include<cstdio> #include<cstring> #define maxn 2020 using name ...