session和cookie区别,多台WEB服务器如何共享session,禁用COOKIE后SESSION是否可用,为什么?

答:session的运行机制:

用户A访问站点Y,如果站点Y指定了session_start();(以下假设session_start()总是存在)那么会产生一个session_id,这个session_id一般会以COOKIE的形式保存到用户A(我们可以通过在php.ini里设置session.use_only_cookies为1,强制SESSIONID必须以COOKIE专递。)。这时候SESSIONID表现为$_COOKIE[‘PHPSESSID’];(PHPSESSID可用session_name()函数来下修改)

用户A接着访问,这个session id($_COOKID[‘PHPSESSID’])就会在A每次访问Y的时候传送到站点Y。

在站点Y上,会有这么一个目录,是用来保存SESSION的实际数据的。站点Y接收到sessionid,然后通过session id,来获得与SESSION数据的关联,并返回SESSION数据。

答:session与cookie的区别:

SESSION存储在服务器端,用户无法进行修改,相对比较安全,COOKIE存储在客户端,用户通过手段可以进行修改,相对不安全。

Session会在一定时间内保存在服务器上,当访问增多,会比较占用服务器资源。

单个cookie在客户端的限制是3k,就是说一个站点在客户端存放的COOKIE不能超过3k。

答:多台服务器如何共享SESSION:

共享就是每台服务器公用一个,那显然要把这个session专门放到一个地方
比如存数据库,每台服务器都调这个数据库里的session
存memcache 一样的原理

答:可以,但是需要在传值的时候将Session_id写到URL中;因为禁用以后再传递参数的时候会以网址的形式参数接到后面传过去!

时间: 2024-10-13 23:28:10

session和cookie区别,多台WEB服务器如何共享session,禁用COOKIE后SESSION是否可用,为什么?的相关文章

多台web服务器之间共享session

常见的几种方法如下: 1. 写客户端Cookie的方式 当用户登陆成功以后,把网站域名.用户名.密码.token.session有效时间全部采用cookie的形式写入到客户端的cookie里面,如果用户从一台Web服务器跨越到另一台服务器的时候,我们的程序主动去检测客户端的cookie信息,进行判断,然后提供对应的服务,当然,如果cookie过期,或者无效,自然就不让用户继续服务了.当然,这种方法的弊端就不言而喻了,比如客户端禁用了cookie或者cookie被黑客窃取了呢? 2. 服务器之间S

cookie、session的联系和区别,多台web服务器如何共享session?

cookie在客户端保存状态,session在服务器端保存状态.但是由于在服务器端保存状态的时候,在客户端也需要一个标识,所以session也可能要借助cookie来实现保存标识位的作用.cookie包括名字,值,域,路径,过期时间.路径和域构成cookie的作用范围.cookie如果不设置过期时间,则这个cookie在浏览器进程 存在时有效,关闭时销毁.如果设置了过期时间,则cookie存储在本地硬盘上,在各浏览器进程间可以共享.session存储在服务器端,服务器用一种散列表类型的结构存储信

多Web服务器之间共享Session的解决方案

一.提出问题: 为了满足足够大的应用,满足更多的客户,于是我们架设了N台Web服务器(N>=2),在多台Web服务器的情况下,我们会涉及到一个问题:用户登陆一台服务器以后,如果在跨越到另一台服务器的时候能够继续使用客户的Session? 二.解决方案: 1. 写客户端Cookie的方式       当用户登陆成功以后,把网站域名.用户名.密码.token. session有效时间全部采用cookie的形式写入到客户端的cookie里面,如果用户从一台Web服务器跨越到另一台服务器的时候,我们的程

两台web服务器做文件共享,负载均衡

服务器环境:httpd.php.MySQL.DNS.NFS共配置4台虚拟机,web服务各一台,PHP.DNS一台,MySQL.NFS一台. 网段使用172.16.0.0/16 注:httpd,php,DNS服务在此前的博客中有详细说明,这里就不在详细演示,在此前的基础上追加安装,MySQL,NFS 一.安装mysql-5.5.33 下载mysql-5.5.33-linux2.6-x86_64.tar.gz软件包 1.准备数据存放的文件系统 因为数据总是在动态增长的,所以我们要创建一个逻辑卷来保存

两台web服务器实现负载均衡的解决方案

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. 总体方案 平台规划拓扑图如下: 总体解决方案: 两台web服务通过DNS实现负载均衡,共享NFS服务器,通过NFS服务器共享MySQL服务器 说明:接下来将搭建DNS服务器.两台web服务器.NFS服务器以及MySQL服务器,在此过程中只给出实现过程及其步骤,望理解. 搭建DNS服务器 1.编辑主配置文件 # vim /etc/named.conf options { directory   "

heartbeat 配置两台web服务器高可用集群案例

通过heartbeat 配置两台web服务器高可用集群案例: 拓扑: web1:192.168.0.101 hostname: web1.example.com web2:192.168.0.102 hostname:web2.example.com vip:192.168.0.254 nfs服务器:192.168.0.100(存放web页面) 注意: 1主机名要与uname -n 保持一致 2.web1与web2主机的date时间保持同步 3.web1与web2,ssh双机互信通信 4.关闭i

Cacti监控一台Web服务器上多个Tomcat端口的实现

因为一台web应用服务器上面安装了多台tomcat,有多个端口,比如默认的8080,还有后续追加的9100,9300,9500等等.一个cacti_host_template_tomcat_server.xml模板只能指定监控一个tomcat服务端口. 因此如果想要监控一台web服务器上的多个tomcat服务器,那么就必须另外想办法,按照一个host上面一个模板监控一个tomcat服务来说的话,要想在一个host上面监控多个tomcat服务就需要构建多个模板xml文件.目前想到2种方法: (1)

手动安装Sharepoint2013并配置Sharepoint集群的第二台web服务器

手动安装第二台中文版本sharepoint2013(未连接互联网,仅连接局域网,局域网内可以远程),使用与(第一台sharepoint2013)相同的数据库BD-SQL01, 注:在连接互联网情况下很多插件可以自动下载并安装,可略过,这里主要解决手动安装问题. 1.首先确保.NetFramework3.5已经安装,如果没有安装,请打开服务器管理器,添加角色和功能进行安装. 2.手动安装SharePoint2013 未连接互联网情况下手动安装SharePoint2013预安装文件.首先将下载好将s

利用nfs共享实现多台web服务器的负载均衡(转载,没实现过)

一.实验目的 本实验主要通过nfs解决多台web服务器负载均衡的问题和数据同步的问题. 二.实验环境: 如上拓扑图所示,在server1上安装有mysql数据库,server2和server3通过nfs共享server1上的mysql数据库,同时,将discuz网站的源码放在server1上,即:server1只运行mysql,而server2和server3只运行php和apache.这样可以保证用户不管访问server2或者server3都可以得到相同的结果. 三.实验步骤 1.server