一、cookie数据存放在客户的浏览器上,session数据放在服务器上。html
二、cookie不是很安全,别人能够分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。web
三、session会在必定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。浏览器
四、单个cookie保存的数据不能超过4K,不少浏览器都限制一个站点最多保存20个cookie。tomcat
五、因此我的建议:
将登录信息等重要信息存放为SESSION
其余信息若是须要保留,能够放在COOKIE中安全
常常被使用的一种技术叫作URL重写,就是把session id直接附加在URL路径的后面。还有一种技术叫作表单隐藏字段。就是服务器服务器
会自动修改表单,添加一个隐藏字段,以便在表单提交时可以把session id传递回服务器。好比:
<form name="testform" action="/xxx">
<input type="hidden" name="jsessionid" value="ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764">
<input type="text">
</form>
实际上这种技术能够简单的用对action应用URL重写来代替。cookie
有些网站保存信息是使用Cookie,有些则是使用Session.对于这两种方式,JMeter都给予必定的支持。session
1.Cookiepost
添加方式:线程组-配置元件-HTTP Cookie 管理器,以下图:性能
2.Session
添加方式:线程组-前置处理器 -HTTP URL 重写修饰符,以下图:
有些tomcat的session实现不是经过cookie的,而是经过session id的,就是说,用户登陆有了session以后,tomcat就会维护一个sessonid,
而后每次request的时候,要求每一个http request的URL都要带上这个session id.
在tomcat中,使用URL Re-writing mode,URL是这样的:http://192.168.0.2:8080/easy/login.ec;jsessionid=410C3D3946535635683D662DF74A00AC,因此,
这里咱们须要设置会话参数名称为:jsessionid,Jmeter就会到URL里面按照这个参数去把上面那个sessionid抓下来,而后每次request都带上这个东西,须要注意,
“路径扩展(使用;做分隔符)”这里还要将勾上,由于如上,tomcat的URL Re-writing中sessionid是以分号的方式加在URL上的,因此须要勾上这个选项,
有些web server这个session和普通的URL parameter同样,是以?和&这种方式加上去的,这种状况这个checkbox就不用勾了。
两者的定义:
当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,
都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie
里的内容来判断使用者,送出特定的网页内容给你。 Cookie 的使用很广泛,许多有提供我的化服务的网站,都是利用 Cookie
来辨认使用者,以方便送出使用者量身定作的内容,像是 Web 接口的免费 email 网站,都要用到 Cookie。
具体来讲cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。
同时咱们也看到,因为采用服务器端保持状态的方案在客户端也须要保存一个标识,因此session机制可能须要借助于cookie机制
来达到保存标识的目的,但实际上它还有其余选择。
cookie机制。正统的cookie分发是经过扩展HTTP协议来实现的,服务器经过在HTTP的响应头中加上一行特殊的指示以提示
浏览器按照指示生成相应的cookie。然而纯粹的客户端脚本如JavaScript或者VBScript也能够生成cookie。而cookie的使用
是由浏览器按照必定的原则在后台自动发送给服务器的。浏览器检查全部存储的cookie,若是某个cookie所声明的做用范围
大于等于将要请求的资源所在的位置,则把该cookie附在请求资源的HTTP请求头上发送给服务器。
cookie的内容主要包括:名字,值,过时时间,路径和域。路径与域一块儿构成cookie的做用范围。若不设置过时时间,则表示这
个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就消失。这种生命期为浏览器会话期的cookie被称为会话cookie。
会话cookie通常不存储在硬盘上而是保存在内存里,固然这种行为并非规范规定的。若设置了过时时间,浏览器就会把cookie
保存到硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设定的过时时间。存储在硬盘上的cookie能够在不一样的浏
览器进程间共享,好比两个IE窗口。而对于保存在内存里的cookie,不一样的浏览器有不一样的处理方式
session机制。session机制是一种服务器端的机制,服务器使用一种相似于散列表的结构(也可能就是使用散列表)来保存信息。
当程序须要为某个客户端的请求建立一个session时,服务器首先检查这个客户端的请求里是否已包含了一个session标识
(称为session id),若是已包含则说明之前已经为此客户端建立过session,服务器就按照session id把这个session检索出来
使用(检索不到,会新建一个),若是客户端请求不包含session id,则为此客户端建立一个session而且生成一个与此session相
关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应
中返回给客户端保存。保存这个session id的方式能够采用cookie,这样在交互过程当中浏览器能够自动的按照规则把这个标识发送给
服务器。通常这个cookie的名字都是相似于SEEESIONID。但cookie能够被人为的禁止,则必须有其余机制以便在cookie被禁止时
仍然可以把session id传递回服务器。