Cookie和会话Session

Cookie和会话Session

Cookie

Cookie是识别客户端的特定用户。
1.每次HTTP请求的时候,客户端都会发送相应的Cookie信息到服务端。实际上大多数的应用都是用 Cookie 来实现Session跟踪的,第一次创建Session的时候,服务端会在HTTP协议中告诉客户端,需要在 Cookie 里面记录一个Session ID,以后每次请求把这个会话ID发送到服务器,它就知道你是谁了。
2.如果客户端的浏览器禁用了 Cookie ,一般这种情况下,会使用一种叫做URL重写的技术来进行会话跟踪,即每次HTTP交互,URL后面都会被附加上一个诸如 sid=xxxxx 这样的参数,服务端据此来识别用户。
3. Cookie还可以用在一些方便用户的场景下,登陆过一个网站,下次登录的时候不想再次输入账号了,这个信息就可以写到Cookie里面,访问网站的时候,网站页面的脚本可以读取这个信息,就自动帮你把用户名给填了,能够方便一下用户。
 

Session

Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。

session会在Cookie中出现和传输,属于Cookie的一部分。

当web服务器开启会话机制时,用户登陆成功后,会将会话保存在服务器中。

 

如果说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查服务器上的“客户明细表”来确认客户身份。Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了。

 

Cookie和session的区别

不同之处在于:

1、数据存放位置不同:

cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、安全程度不同:

cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。

3、性能使用程度不同:

session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。

4、数据存储大小不同:

单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie,而session则存储与服务端,浏览器对其没有限制。cookie数据保存在客户端的浏览器,session数据保存在服务器端。

5、会话机制不同

session会话机制:session会话机制是一种服务器端机制,它使用类似于哈希表(可能还有哈希表)的结构来保存信息。

cookies会话机制:cookie是服务器存储在本地计算机上的小块文本,并随每个请求发送到同一服务器。 Web服务器使用HTTP标头将cookie发送到客户端。在客户端终端,浏览器解析cookie并将其保存为本地文件,该文件自动将来自同一服务器的任何请求绑定到这些cookie。

 

共同之处在于:

cookie和session都是用来跟踪浏览器用户身份的会话方式。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358827.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高速排序算法

高速排序算法作者 July 二零一一年一月四日------------------------------------------写之前,先说点题外话。每写一篇文章,我都会遵循下面几点原则:一、保持版面的尽量清晰,力保排版良好。二、力争所写的东西,清晰易…

java csv 导入数据库_java – 如何上传CSV文件然后自动将数据插入数据库?

我有基于Java的Spring MVC应用程序,它也使用Spring安全性.我正在使用hibernate作为此Web应用程序的ORM工具.以下是我的要求 –用户可以使用Web浏览器上传CSV文件.已知CSV文件的格式包含以下5个字段:userId, location, itemId, quantity, tranDate001, NY, 00A8D5, 2…

某小型校园网规划与设计要点(课程报告)

粉丝求助: 设计某小型校园网络,校园内覆盖4个大楼,分别教学楼,图书馆,办公室和学生宿舍楼,学校申请到B类私有地址为:172.16.8.0/21。要求:(1)不同大楼主机划分…

使用PHP管理SQL

php管理数据库 php连接数据库函数——mysqli_connect 格式&#xff1a;mysqli_connect(servername,user,pass,database) servername&#xff1a;数据库地址 user&#xff1a;数据库用户名 pass&#xff1a;数据库密码 database&#xff1a;数据库名 <?phpheader(conte…

不可变的基础架构,热部署和JVM

您是否在生产中部署和取消部署基于JVM的应用程序&#xff08;无论JVM容器/无容器&#xff09;&#xff1f; 也就是说&#xff0c;当您拥有某个应用程序或服务的新版本时&#xff0c;是否通过“取消部署”和“热部署”该应用程序的新更新版本来更改正在运行的JVM&#xff1f; 或…

android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )屏幕适配

http://www.tuicool.com/articles/nuyMZb 1 Android手机目前常见的分辨率 1.1 手机常见分辨率: 4:3 VGA 640*480 (Video Graphics Array) QVGA 320*240 (Quarter VGA) HVGA 480*320 (Half-size VGA) SVGA 800*600 (Super VGA) 5:3 WVGA 800*480 (Wide VGA) 16:9 FWVGA …

前端页面通过web3.eth.accounts无法获取账户信息

粉丝求助&#xff1a; /* 新版的方式 */var web3Provider;if (window.ethereum) {web3Provider window.ethereum;try {// 请求用户授权await window.ethereum.enable();} catch (error) {// 用户不授权时console.error("User denied account access")}} else if (wi…

thread java 关闭_怎么在java中关闭一个thread

怎么在java中关闭一个thread我们经常需要在java中用到thread&#xff0c;我们知道thread有一个start()方法可以开启一个线程。那么怎么关闭这个线程呢&#xff1f;有人会说可以用Thread.stop()方法。但是这个方法已经被废弃了。根据Oracle的官方文档&#xff0c;Thread.stop是不…

arp欺骗原理

中间人攻击——ARP欺骗的原理、实战及防御 ​ 1.1 什么是网关 首先来简单解释一下什么是网关&#xff0c;网关工作在OSI七层模型中的传输层或者应用层&#xff0c;用于高层协议的不同网络之间的连接&#xff0c;简单地说&#xff0c;网关就好比是一个房间通向另一个房间的一…

bzoj 3926

后缀自动机扩展到树形结构上。 先建出大的Trie&#xff0c;然后我们得到了一棵Trie树&#xff0c;对于树上的每个节点&#xff0c;保存一个后缀自动机从根走它代表的字符串后到达的节点&#xff0c;每次其儿子就从父亲的这个节点开始扩展。 1 /*******************************…

java memcmp_memcmp,memicmp函数

函数原型&#xff1a;extern int memcmp(void *str1, void *str2, unsigned int n)参数说明&#xff1a;str1和str2为指定作比较的字符串&#xff0c;比较两个字符串的前n个字节。所在库名&#xff1a;#include 函数功能&#xff1a;比较字符串str1和str2在内存区域中的的前n个…

Pycharm社区版安装教程(永久免费,随时升级)

首先进入JetBrain的官网(国内正常访问): https://www.jetbrains.com/ 第一眼看到的界面如下图所示: 然后找到我们的Pycharm专题页: 进入Pycharm的专题页面之后,点击下载按钮(这里有两个按钮,点任何一个都行): 然后进入到真正的下载页面你会发现有两个版本的Pycharm,一个…

apache-cxf 使用_使用Apache CXF进行Web服务学习

apache-cxf 使用在我的最后几个项目中&#xff0c;我使用了Web服务&#xff0c;在某些地方创建它们并在其他地方使用它们。 我认为标准任务&#xff08;例如创建客户端&#xff0c;创建Web服务等&#xff09;非常简单&#xff0c;如果遇到问题&#xff0c;有足够的资源。 但是对…

123 Best time to buy and sell stock iii

题解&#xff1a; 根据题目要求&#xff0c;最多进行两次买卖股票&#xff0c;而且手中不能有2只股票&#xff0c;就是不能连续两次买入操作。 所以&#xff0c;两次交易必须是分布在2各区间内&#xff0c;也就是动作为&#xff1a;买入卖出&#xff0c;买入卖出。 进而&#…

解决 invalid input detected at ‘^’ marker的问题

粉丝求助&#xff1a; 解决办法&#xff1a; Switch开不了机&#xff08;机器bai黑屏&#xff0c;如果找很黑的房间能看到屏du幕内部有zhi点透亮光&#xff09;&#xff1b; 解决方法&#xff1a;这dao是假死机&#xff0c;按住电源键12秒强制关机&#xff0c;然后再按电源键能…

PyCharm社区版设置简体中文界面

点击“File”&#xff0c;出现的菜单中点击“Settings”, 在弹出的界面中&#xff0c;选“Plugins”&#xff0c; 然后在右边输入框中输入“chinese”, 在搜索结果中&#xff0c;选中Chinese(Simplified) Language Pack&#xff0c;点击右边的“install”即可。

JMS和AWS SQS的更多高级内容

如您所知&#xff0c; AWS中的SQS SQS代表“简单队列服务”。 最近&#xff0c;在使用它的同时&#xff0c;我发现了将其称为“简单”的原因之一。 在之前的两篇文章&#xff08; 此处和此处 &#xff09;中&#xff0c;我展示了结合Spring Framework将SQS用作JMS队列提供程序 …

w10家庭版安装java不_小编为你分析win10系统安装不了java的设置办法

许多win10系统用户在工作中经常会遇到win10系统安装不了java的情况&#xff0c;想必大家都遇到过win10系统安装不了java的情况吧&#xff0c;那么应该怎么处理win10系统安装不了java呢&#xff1f;我们依照1、查看自己的电脑是32位的还是64位的(x86代表32位的)。java安装要求比…

用C语言实现津巴布韦这道算法题?

粉丝求助: 题目内容如下: 5、津巴布韦 由于计划经济失败,津巴布韦称为世界上通胀率最高的国家。这里的物价即使在一天中也会持续上涨,所以必须实时更新物品价格。例如:1个鸡蛋的价格为35亿津巴布韦元,所以超市做了每位数字的活动标价牌。 钟旭在穆加贝超市打工,有一天遇…