会话技术之Cookie 和 Session
为什么要使用会话技术
会话从字面上来说就是,就是两个人说话,也就是两个人交流,那么这里说的是计算机web端的交流,因为互联网是基于HTTP传输信息的,而http传输是无状态协议,缺少状态,意味着如果后续需要前面的内容,必须重传。也就是每一次连接都是独立的请求,这样就会给我们程序带来不便,比如我们要登陆一个网站购买商品时,是不是每次打开一个页面都需要登陆,答案是否定的,我可以给我的网址传一个参数,虽然这样能实现,但是没实质性作用,也不安全,任何人都可以登陆。这时就需要用到下面学到的技术Cookie 和 Session,主要用来实现用户登陆,跟踪用户等
Cookie
cookie 是一门浏览器技术,主要通过浏览器保存数据(主要保存在浏览器的某个文件中),因为cookie是以文件的形式保存在浏览器中,所以cookie也是区分浏览器的。因cookie是由服务器发送到浏览器的,所有保存在浏览器的数据,可以由服务器控制,保存什么、保存的状态等。每次浏览器发出请求时,都会携带cookie,意味着服务器每次都可以拿到cookie数据,每次请求间的cookie数据是共享的。这样就解决了我们的无状态问题,用setcookie() 来设置我们的cookie值
当你第一次设置cookie值的时候,首先服务器响应一个cookie值,在下一次请求时,如果存在cookie,它都会携带,所以当你第一次设置一个cookie的时候,他是不会携带的。
按自己的思路,简单的化了一个用cookie实现登陆的功能。删除cookie,可以让cookie时间过期,使用 setcookie('cookie名',time()-1);
Session
Session 技术与 Cookie 相似,都是用来储存用户信息的,最大不同是cookie是将数据存储在客户端电脑中,而session是把数据存在服务器系统下,不会被用户或者其他人操作,相比更安全。我们通过session_start() 开启会话,返回已经存在的会话。当设置一个session值时,将全部数据保存在服务器端,在客户端会保存由服务器为用户创建的一个Session标示符,成为Session ID,使用cookie技术保存Session ID
$_SESSION['name'] = "zhangsan"; 删除名字为name值session: unset($_SESSION["name"]) ,删除所有与Session $_SESSION = array(); session_destroy();
session 是基于cookie的,通常会有这样的面试题,禁用cookie 后session 能用么?答案 理论上是可以的,可以通过get传递 session ID,但是这样不够安全,现在所有的浏览器都不会禁止cookie,所以我们使用基于cookie的session就是可以的
Session 默认有效期是关闭浏览器,为什么session会消失,主要原因是浏览器端cookie内保存的 sessionID 失效了,因为session是基于cookie的,所以关闭浏览器会失效。
浏览器关闭,session是不会马上消失的。
如何延长session声明周期,解决方案:延长cookie 和 session 的生存时间
会话技术之Cookie 和 Session的更多相关文章
- JavaWeb学习之转发和重定向、会话技术:cookie、session、验证码实例、URLConnection使用(下载网页)(4)
1.转发和重定向 HttpServletResponse response 转发: RequestDispatcher dispatcher = request.getRequestDispatche ...
- 会话技术( Cookie ,Session)
会话技术: 会话:浏览器访问服务器端,发送多次请求,接受多次响应.直到有一方断开连接.会话结束. 解决问题:可以使用会话技术,在一次会话的多次请求之间共享数据. ...
- JAVAWEB开发之JSP、EL、及会话技术(Cookie和Session)的使用详解
Servlet的缺点 开发人员要十分熟悉JAVA 不利于页面调试和维护(修改,重新编译) 很难利用网页设计工具进行页面设计(HTML内容导入到servlet中,用PrintWriter的对象进行输出) ...
- 会话技术、Cookie技术与Session技术
一.会话技术 1. 存储客户端状态 会话技术是帮助服务器记住客户端状态(区分客户端)的. 2. 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,称为一次会话.会话技术就是记录这 ...
- Java第三阶段学习(十三、会话技术、Cookie技术与Session技术)
一.会话技术 1. 存储客户端状态 会话技术是帮助服务器记住客户端状态(区分客户端)的. 2. 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,称为一次会话.会话技术就是记录这 ...
- [转]【会话技术】Cookie技术
建立时间:6.29 & 6.30 一.会话技术简介 1.存储客户端的状态 由一个问题引出今天的内容,例如网站的购物系统,用户将购买的商品信息存储到哪 里?因为Http协议是无状态的,也就是说 ...
- 会话技术之Cookie
在无状态的客户端(未登录)下,张三想买手机然后把手机加入购物车,服务器发出添加成功的响应,然后把手机加入ServletContext域里,然后张三想在逛逛别的, 再无状态的客户端(未登录)下,李四想买 ...
- JSP基础--会话跟踪技术、cookie、session
会话跟踪技术 1 什么是会话跟踪技术 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而10 ...
- java的会话管理:Cookie和Session
java的会话管理:Cookie和Session 1.什么是会话 此处的是指客户端(浏览器)和服务端之间的数据传输.例如用户登录,购物车等 会话管理就是管理浏览器客户端和服务端之间会话过程产生的会话数 ...
随机推荐
- NavigationDrawer+Fragment实现侧滑菜单效果
学习了NavigationDrawer 官方Support包中的SlidingMenu版本,练了下手.用到了ListView中item不同的布局 以后会升级加上ViewPager和GridView实现 ...
- bzoj3669
不难想到从小到大穷举a,判断在携带不超过a个B型精灵的情况下最少携带多少个B型精灵这是一个经典的问题,显然要求出最小生成树,树上1到N路径上最大的边即是答案所以我们要动态维护一个最小生成树可以用lin ...
- ARM学习笔记1——Arm寄存器与模式的关系
ARM微处理器上有37个32位的寄存器,其中有6个状态寄存器(一个CPSR,5个SPSR),其它31个为通用寄存器.在ARM的不同模式下,可以访问的物理寄存器是不同,如下图所示: 从图中可知,用户模式 ...
- 【原】现有市场上H264 IPCamerad的功能
网络: 1.内置Web Server,通过IE实现远程监看.控制.设置等操作: 2.支持UPnP路由器,自动配置端口映射: 3.支持DDNS(动态域名解析).PPPoE拨号.DHCP网络协议: 4.支 ...
- rails第一次做项目
最近这几天一直都是在做rails的入门,也就是熟悉rails的增.删.改.查操作,做到rails的入门.这几天的熟悉,只是对于操作的熟悉,对于rails语言的机制还有很多不是很熟悉.昨天接手第一个真正 ...
- Android学习笔记(十三)SharedPreference必须掌握的基础
我们在开发中,应用程序会保存少量数据,例如一些字符串.一些标记或者一些配置文件,这时候如果去使用SQLite保存这些数据的话,难免会显得大材小用,用起来也不方便,对于这种信息,保存在SharedPre ...
- [ZETCODE]wxWidgets教程四:菜单栏和工具栏
本教程原文链接:http://zetcode.com/gui/wxwidgets/menustoolbars/ 翻译:瓶哥 日期:2013年11月28日星期四 邮箱:414236069@qq.com ...
- C语言练习题_邮票组合
背景: 我们寄信都要贴邮票,在邮局有一些小面值的邮票,通过这些小面值邮票中的一张或几张的组合,可以满足不同邮件的不同的邮资. 现在,邮局有4种不同面值的邮票.在每个信封上最 ...
- fork和缓冲区
fork在面试中经常被问到,在这里复习一下. frok创建子进程,父子进程共享.text段,子进程获得父进程数据段.堆和栈的副本,由于在fork之后经常跟随者exec,所以很多实现并不执行父进程数据段 ...
- oracle删除当前用户下所有表
1.如果有删除用户的权限,则可以: drop user user_name cascade; 加了cascade就可以把用户连带的数据全部删掉. 删除后再创建该用户.--创建管理员用户create u ...