sessionsession和cookie 是什么?有什么作用?怎么用的?php初学者麻烦介绍的详细一些,谢谢!
session  时间:2021-08-21  阅读:(
)
 
 
request和session的区别
request对象和session对象的最大区别是生命周期。
request
request范围较小一些,只是一个请求。
request对象的生命周期是针对一个客户端(说确切点就是一个浏览器应用程序)的一次请求,当请求完毕之后,request里边的内容也将被释放点 。
简单说就是你在页面上的一个操作,request.getParameter()就是从上一个页面中的url、form中获取参数。
但如果一个request涉及多个类,后面还要取参数,可以用request.setAttribute()和request.getAttribute()。
但是当结果输出之后,request就结束了。
 
session
session可以跨越很多页面。
而session的生命周期也是针对一个客户端,但是却是在别人设置的会话周期内(一般是20-30分钟),session里边的内容将一直存在,即便关闭了这个客户端浏览器 session也不一定会马上释放掉的。
可以理解是客户端同一个IE窗口发出的多个请求。
这之间都可以传递参数,比如很多网站的用户登录都用到了。
比较
request占用资源比较少,安全性也比较高,可是相对来说缺乏持续性。
session则相对来说对资源的消耗会大点,安全性相对来说也会稍微低点,可是它能实现比如会话跟踪技术。
如果可以使用request的情况下,尽量使用request 因为相对于服务器来说资源的消耗还是比较重要的。
在传递页面过程中request传递到下一页面就不能再传递了,而sesison却不如此,即request仅限于2个相邻的页面
每按一个网页上的一个链接就是一个新的request,当服务器返回给浏览器一个response时,request就结束了,此时保存在request中的对象就不存在了,
但是当你用一个浏器连到服务器上时application-server会新开一个session给你,当连接超时或浏览器关闭时session才销毁。
所以说作用的范围是不一样,session也就可以跟踪用户的状态。
session相当于是一个客户端的全局变量,
比如A机与服务器第一次访问时设置session.setAttribute("aaa")="ComputerA".则在A机访问继续访问的任意一个页面都可以取的session.getAttribute("aaa")的值是ComputerA;
request是某一次访问的局域变量,
生命周期只是一次请求。
因此login的变量应该放在session中Cookie 和 session的区别是什么?
我不喜抄,直接说区别吧!
cookie用于交互时存放在客户端,即使用你临时文件夹中不存在cookie,但在你的浏览器进程中会临时保存你的cookie!session是交互时存放在服务端,即使用不保存,也在服务进程中。
如果你对网页有交互,服务器如何在众多请求中能识别你那是曾经的哪一个?这依赖于你传递上来的cookie,即合没有任何其他的的交互,在你浏览器进程中也必须保存诸如sessionID之类的cookie!但这个是临时的,只是为了识别你到底是谁而已。
知道了你是谁,服务器还需要知道该怎么做,那么在服务器进程中必须存在一个sessionID,这个与你请求的相对应,然后根据这个才知道你是谁,该怎么做。
sessionID是你初次请求时由系统生成,随网页流保存在你的浏览器进程中,以便你在使用postback等回传功能时能识别你!要不然,你回传了,另外一个请求却得到你的回传反应,这有点说不过去吧?
sessionid相当于浏览器与服务进程进行了一个简单的约定,可以理解为初次服务器发给你的一个通行号码,以后你与服务器的任何交互都依赖于这个号码!
而其他的需要长期保存的一些信息也在cookie中,如用户名与密码等等,与这个通信的结果是相同的。
也就是说cookie与session同时存在,分别在客户端与服务器!
如果你通过网络嗅探或是其他方式,得到了某一个浏览器正在交互的sessionid以及一些进程中保存的session信息,这个信息在客户端称cookie,这服务器称session。
那么你可以利用这些信息进行攻击。
如,在某台电脑中保存有某用户的user与password通行信息时,你可以将自己的cookie违装成目标的cookie,然后可以进行登陆,这种攻击方式叫cookie攻击!
如果他的这些信息保存在了浏览器进程中,也可以伪造,这种其实也是cookie攻击,但由于其不确定性(你还必须拿到sessionid),这种称为session攻击。
其实说白了,这种方式在服务器中直接使用的session[“user"]之类的方式取得的,所以伪造时连同sessionid一块伪造,所以才被称为session攻击的。
由于多标签浏览器的存在,还可以进行网页交叉攻击!session的概念
session  
ses.sion
[`sZ??n; ˋs??n]
《源自拉丁文“坐”的意思》
名词
1 a. (U) (议会、会议的) 开会, (法庭的) 开庭
go into ~
开会,开庭
Congress is now in [out of] ~.
议会现在开会 [闭会] 中
b. (C)聚会,集会
a plenary [an extraordinary] ~
全体大会 [临时会议]
a secret ~
秘密会议
2 (C)会期,开会 [开庭] 期
The Diet will have a long ~.
国会将有长会期
3 (C)
a. (美.苏格兰) (大学的) 学期
a summer ~
暑期讲习 (班) ,暑期研习会,暑期学校
b. (美)授课 (时间)
the morning ~
上午的授课 (时间)
double ~s
二部制授课
c. (英) (大学的) 学年
the ~ 1985-86 1985
年 (九月) 至 1986 年 (六月) 的学年
4 (C)
a. (尤指在一定期间 团体举行的) 活动,讲习会,聚会
a gossip ~
闲聊的聚会
jazz dance ~s
爵士舞研习会
b. (口语) (两人间的) 洽谈,商议
5[~s] (又作 sessions of the peace) (英)治安法庭
→ quarter sessionsSession到底是保存在客户端还是服务器端?
我们一般用的Session可以基于Cookies和Cookieless,前者是将身份标识放在Cookies里面,后者是跟在Url里作为get传递的参数..我们普遍用的前者
第1个问题,你赋值一个Session, 此时这个Session对应的值是存在服务器端,客户端无法直接获取这个值的..每个Session对象都有一个SessionID的属性,表明了该Session的唯一性,客户端会生成1个名称为AspNetSessionId(ASP.NET环境下大概是这个,你可以在FireFox的Cookies列表中查看到)的Cookies,和服务器端的SessionID对应,服务器端只有接受到这个Cookies的值才能判断该浏览者对应于哪个Session..所以你第1个问题就回答完了.
第2个问题,过了超时时间才会失效,服务器端永远不会主动去联系客户端看对方是否超时,只是创建Session对象时会有一个过期时间,超过过期时间对应的客户端还没有访问,则会清空Session对象..至于你说的不同浏览器的问题,暂时没遇到过session和cookie 是什么?有什么作用?怎么用的?php初学者麻烦介绍的详细一些,谢谢!
简单介绍,不复杂说
共性:都是用来存储会话的,
区别:  session 是存储在服务器端的,要用程序清除或是过期时间
,而cookie是存储在客户端的(浏览器清除cookie后就不存在了) 
		  
		  
		      
			  
		  
			  			   
			      
			        
			          
			          百纵科技官网:https://www.baizon.cn/百纵科技:美国云服务器活动重磅来袭,洛杉矶C3机房 带金盾高防,会员后台可自助管理防火墙,添加黑白名单 CC策略开启低中高.CPU全系列E52680v3 DDR4内存 三星固态盘列阵。另有高防清洗!美国洛杉矶 CN2 云服务器CPU内存带宽数据盘防御价格1H1G10M10G10G19元/月 购买地址2H1G10M10G10G29元/月 购买...
			         
			       
				  
			     
							   
			      
			        
			          
			          10GBIZ服务商经常有看到隔壁的一些博客分享内容,我翻看网站看之前有记录过一篇,只不过由于服务商是2020年新成立的所以分享内容比较谨慎。这不至今已经有将近两年的服务商而且云服务产品也比较丰富,目前有看到10GBIZ服务商有提供香港、美国洛杉矶等多机房的云服务器、独立服务器和站群服务器。其中比较吸引到我们用户的是亚洲节点的包括香港、日本等七星级网络服务。具体我们看看相关的配置和线路产品。第一、香...
			         
			       
				  
			     
							   
			      
			        
			          
			          SugarHosts 糖果主机商我们算是比较熟悉的,早年学会建站的时候开始就用的糖果虚拟主机,目前他们家还算是为数不多提供虚拟主机的商家,有提供香港、美国、德国等虚拟主机机房。香港机房CN2速度比较快,美国机房有提供优化线路和普通线路适合外贸业务。德国欧洲机房适合欧洲业务的虚拟主机。糖果主机商一般是不会发布黑五活动的,他们在圣圣诞节促销活动是有的,我们看到糖果主机商发布的圣诞节促销虚拟主机低至6折...
			         
			       
				  
			     
							
			   
			   
session为你推荐
	商品管理如何进行商品的库存管理?卖源码淘宝上卖源码可以退货吗???accesspointHP elitebook2530p 用无线路由器时 要我输入一个ralink wireless access point 什么意思背投广告什么是POP-under广告?拜托各位了 3Q软件更新不可用我的手机系统更新时候出现您的设备已修改,软件更新不可用S3(sch-939d)免费数据采集软件最好用的采集软件是哪个?人工电源网络设备EMC试验等级怎么选择?有选择标准吗?是什么标准?谢谢!阿里学院首页阿里学院成都站--让成都电子商务的发展势如破竹垂直型网站水平型、垂直型、综合型电子商务网站的主要特征是什么?云电视是什么意思4K2K是什么意思?
域名买卖 天津服务器租赁 vir vps.net vultr美国与日本 mach 七夕促销 怎样建立邮箱 国外代理服务器地址 重庆电信服务器托管 免费asp空间申请 ssl加速 广州服务器托管 国外免费网盘 塔式服务器 建站技术 服务器是什么 studentmain linuxvi vim 更多