前端页面——Cookie与Session有什么差别

我们在实际生活中总会遇到这种事情,我们一旦登录(首次输入username和password)某个站点之后,当我们再次訪问的时候(仅仅要不关闭浏览器),无需再次登录。而当我们在这个站点浏览一段时间后,它会产生我们浏览的记录,并且有的站点还提供购物车的功能。这些简单有用的功能就是通过Cookie与Session实现的。接下来。让我们一起探讨一下它们是怎样执行的。

1、概念

Cookie

有时也用其复数形式Cookies。指某些站点为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。

Session

Session直接翻译成中文比較困难。一般都译成时域。在计算机专业术语中。Session是指一个终端用户与交互系统进行通信的时间间隔。通常指从注冊进入系统到注销退出系统之间所经过的时间。以及假设须要的话,可能还有一定的操作空间。

详细到Web中的Session指的就是用户在浏览某个站点时。从进入站点到关闭这个站点所经过的这段时间,也就是用户浏览这个站点所花费的时间。因此从上述的定义中我们能够看到,Session实际上是一个特定的时间概念。

须要注意的是,一个Session的概念须要包含特定的client,特定的server端以及不中断的操作时间。

A用户和Cserver建立连接时所处的Session同B用户和Cserver建立连接时所处的Session是两个不同的Session。

2、差别

1、cookie数据存放在客户的浏览器上,session数据放在server上

2、cookie不是非常安全,别人能够分析存放在本地的COOKIE并进行

3、session会在一定时间内保存在server上。当訪问增多,会比較占用你server的性能

4、单个cookie在client的限制是3K,就是说一个站点在client存放的COOKIE不能大于3K。

3执行机制

3.1、Cookie机制

在程序中,会话跟踪是非常重要的事情。

理论上,一个用户的全部请求操作都应该属于同一个会话,而还有一个用户的全部请求操作则应该属于还有一个会话。二者不能混淆。

比如,用户A在超市购买的不论什么商品都应该放在A的购物车内。不论是用户A什么时间购买的。这都是属于同一个会话的。不能放入用户B或用户C的购物车内。这不属于同一个会话。

而Web应用程序是使用HTTP协议数据传输的。HTTP协议是无状态的协议。一旦数据交换完成,client与server端的连接就会关闭,再次交换数据须要建立新的连接。

这就意味着server无法从连接上跟踪会话。即用户A购买了一件商品放入购物车内,当再次购买商品时server已经无法推断该购买行为是属于用户A的会话还是用户B的会话了。要跟踪该会话,必须引入一种机制。

Cookie就是这种一种机制。它能够弥补HTTP协议无状态的不足。在Session出现之前。基本上全部的站点都採用Cookie来跟踪会话。

由于HTTP是一种无状态的协议,server单从网络连接上无从知道客户身份。怎么办呢?就给client们颁发一个通行证吧,每人一个,不管谁訪问都必须携带自己通行证。这样server就能从通行证上确认客户身份了。这就是Cookie的工作原理。

Cookie实际上是一小段的文本信息。client请求server。假设server须要记录该用户状态,就使用response向client浏览器颁发一个Cookie。

client浏览器会把Cookie保存起来。

当浏览器再请求该站点时,浏览器把请求的网址连同该Cookie一同提交给server。server检查该Cookie。以此来辨认用户状态。server还能够依据须要改动Cookie的内容。

3.2 Session机制

除了使用Cookie,Web应用程序中还常常使用Session来记录client状态。

Session是server端使用的一种记录client状态的机制,使用上比Cookie简单一些,相应的也添加了server的存储压力。

client浏览器訪问server的时候,server把client信息以某种形式记录在server上。

这就是Session。client浏览器再次訪问时仅仅须要从该Session中查找该客户的状态就能够了。

假设说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查server上的“客户明细表”来确认客户身份。

Session相当于程序在server上建立的一份客户档案,客户来訪的时候仅仅须要查询客户档案表就能够了。

例如以下图所看到的。张三和李四分别訪问该站点,在服务端会产生两个SessionID来区分该用户,而在client将相应的SessionID存放在Cookie中。以便我们再次訪问时得到我们所需的资源。

4总结

这里。我们将cookie跟session简介了一下,至于实际应用还须要我们在做项目中慢慢体会,比如,怎样控制他们的生命周期,有效期等等。并且session和cookie是我们必须要掌握的技术。由于我们要常常使用它来进行消息的传递与验证。并且它们还应用在权限控制,单点登录等技术。不管怎么说。我们都应该重视这种简单常常使用的小技能。

时间: 2024-11-07 18:26:06

前端页面——Cookie与Session有什么差别的相关文章

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

我们在实际生活中总会遇到这样的事情,我们一旦登录(首次输入用户名和密码)某个网站之后,当我们再次访问的时候(只要不关闭浏览器),无需再次登录.而当我们在这个网站浏览一段时间后,它会产生我们浏览的记录,而且有的网站还提供购物车的功能.这些简单实用的功能就是通过Cookie与Session实现的,接下来,让我们一起探讨一下它们是如何运行的. 1.概念 Cookie 有时也用其复数形式Cookies,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密). Se

后端设置cookie写不到前端页面

javax.servlet.http.Cookie cookie = new javax.servlet.http.Cookie("id",session.getId()); cookie.setPath("/"); cookie.setDomain(".kuangke.com"); cookie.setMaxAge(-1); response.addCookie(cookie); 如果存在注解@ResponseBody 则写不到前端页面,具体原

一个Login页面全面了解session与cookie

背景 做了四年的前端开发,对外一直说自己是web开发,那么身为一个web开发怎能不知道session与cookie以及其管理方式呢~ Login涉及技术栈:Nodejs,MongoDB,Express以及html,css,js 了解session与cookie之前首先要知道什么是http协议,为什么会出现session与cookie,可以参考很久之前总结的(戳我:session与cookie). http协议: http即超文本传输协议(万维网定义的),一种基于浏览器请求与服务器响应的链接,它是

利用struts进行前端页面间传值及hibernate异常:a different object with the same identifier value was already associated with the session的总结

2017-3-16 我使用SSH框架在做单表CRUD的更新操作时遇到了一个问题,就是页面间该怎么传值?解决该需求时引发了一系列的bug,趁还记得好好总结一番. 前端页面间传值 情景:在我查出所以记录后,点击修改会链接到新的修改页面. 问题:该新页面没有之前的实体信息,该如何传递要修改的实体信息给该页面,例如id? 思路1:利用struts的action来传值. 1 <form action="deleteSerCate.action" method="post"

cookie、session、localStorage、sessionStorage区别

cookie.session 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session. cookie 1.1  Cookie机制 在程序中,会话跟踪是很重要的事情.理论上,一个用户的所有请求操作都应该属于同一个会话

ASP.NET的Cookie和Session

HTTP属于应用层,HTTP协议一共有五大特点:1.支持客户/服务器模式;2.简单快速;3.灵活;4.无连接;5.无状态. 无状态HTTP协议是无状态的协议.一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接.这就意味着服务器无法从连接上跟踪会话.服务器不记的上次给了浏览器什么,否则服务器的压力会太大.每次请求到达asp.net,都创建一个HttpHandler的新对象来处理. public class TestController : Controller { in

Java——Cookie与Session

Cookie通过客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 1.Cookie  1.1概念及使用方法 Cookie实际上是一小段文本信息.客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie.客户端浏览器会把Cookie保存起来,当浏览器再请求该网站时,把请求的网址连同该Cookie一同交给服务器.服务器检查该Cookie,以此来辨认用户状态.服务器还可以根据需要修改Cookie的内容. java中把Cook

Cookie与Session详解

来源:<PHP核心技术与最佳实践> 列旭松 陈文 著 Cookie与Session详解读书笔记,从概念.操作.应用.注意事项以及区别等几方面详细阐述两者的基础知识,它们都是针对HTTP协议的局限性而提出的一种保持客户端和服务器间保持会话连接状态的机制.. 一.Cookie详解 Cookie在远程浏览器端存储数据并以此跟踪和识别用户的机制.从实现上说,Cookie是存储在客户端上的一小段数据,浏览器(即客户端)通过HTTP协议和服务器端进行Cookie交互. Cooke独立于语言存在,严格地说,

PHP 会话控制 cookie与session 全解析

Cookie 简介 Cookie是存储在客户端浏览器中的数据,我们通过Cookie来跟踪与存储用户数据. 一般情况下,Cookie通过HTTP headers从服务端返回到客户端.多数web程序都支持Cookie的操作,因为Cookie是存在于HTTP的标头之中,所以必须在其他信息输出以前进行设置,类似于header函数的使用限制. PHP通过 setcookie 函数进行Cookie的设置,任何从浏览器发回的Cookie,PHP都会自动的将他存储在 $_COOKIE 的全局变量之中,因此我们可