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

  session存储在服务器端,服务器用一种散列表类型的结构存储信息。当一个连接建立的时候,服务器首先搜索有没有存储的session id,如果没有,则建立一个新的session,将session id返回给客户端,客户端可以选择使用cookie来存储session id。

 2、Cookie与Session的区别:

  1、cookie在本地,session在服务器端。

  2、cookie不安全,容易被欺骗,session相对安全。

  3、session在服务器端,访问多了会影响服务器性能。

  4、cookie有大小限制,为3K。

 3、多台服务器如何共享Session:

  比如:现在有三台服务器,且实现了负载均衡,如何让这三台web服务器共享session数据?

session数据默认是以文件的形式保存在web服务器的磁盘上,一般都是用户登录成功的时候,保存session数据。

同一个用户登录后,就会将session保存在某个web服务器上,假设是保存在服务器A上,该用户访问网站的其他页面时,可能请求的就是服务器B或服务器C,但服务器B或服务器C上并没有该用户的session文件,这样,就会导致网站误认为该用户未登录,用户的登录状态丢失的问题。

归根结底,就是要解决多台web服务器共享session的问题:

  最妥善的方法:将session存储在memcache或redis中。

  注意:

    如果多台web服务器对应的是不同的域名,为了保证cookie的唯一(同一个cookie在各个域名有效),需要修改php.ini文件中的session.cookie_domain

    存储session在memcache或redis中属于用户自定义的方式管理session,而非默认的文件处理方式,故需修改php.ini中的session.save_handler=user

    在开启session之前(即调用session_start()之前),需要先调用session_set_save_handler。

cookie、session的联系和区别,多台web服务器如何共享session的更多相关文章

  1. 多台web服务器之间共享session

    常见的几种方法如下: 1. 写客户端Cookie的方式 当用户登陆成功以后,把网站域名.用户名.密码.token.session有效时间全部采用cookie的形式写入到客户端的cookie里面,如果用 ...

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

    答:session的运行机制: 用户A访问站点Y,如果站点Y指定了session_start();(以下假设session_start()总是存在)那么会产生一个session_id,这个sessio ...

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

    cookie在客户端保存状态,session在服务器端保存状态.但是由于在服务器端保存状态的时候,在客户端也需要一个标识,所以session也可能要借助cookie来实现保存标识位的作用.cookie ...

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

    一.提出问题: 为了满足足够大的应用,满足更多的客户,于是我们架设了N台Web服务器(N>=2),在多台Web服务器的情况下,我们会涉及到一个问题:用户登陆一台服务器以后,如果在跨越到另一台服务 ...

  5. web服务器集群(多台web服务器)后session如何同步和共享

    在访问量上去以后,很多人会采用web集群的方式在满足逐渐增长的用户量.这时候就不得不面对一个问题,那就是在多个服务器下,每次请求都会因为负载均衡而分配到不同的服务器上.用户在登录服务器后,下一次请求被 ...

  6. php 高级 多台web服务器共享session的方法

    解决多台web服务器共享session的问题,至少有以下三种方法:   一.将本该保存在web服务器磁盘上的session数据保存到cookie中 即用cookie会话机制替代session会话机制, ...

  7. 一篇文章让你深透理解cookie和session,附带分布式WEB系统redis共享session方案

    cookie和session有什么区别?这是一个很基础的知识点,大家可能都知道一个大概:cookie是存在客户端的,session是存储在服务端,cookie和session用来验证识别用户的登录状态 ...

  8. web服务器集群session同步

    在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,一个登录用户,一会是登录状态,一会又不是 ...

  9. 如何设置让外网通过路由器IP加端口号访问到局域网一台Web服务器

    场景描述: 我们局域网内所有主机链接一台路由器,通过设置动态获取IP上网,现在想让一台主机作为Web 服务器,让外网用户通过http://ip:port的方式访问. 1:首先修改Apache的端口号: ...

随机推荐

  1. SokcetClient VC++6.0

    // SokcetClient.cpp: implementation of the SokcetClient class. // ////////////////////////////////// ...

  2. shell查询MySQL并将结果写入文件中

    背景 说下需求,自己搭建的一个接口开放平台,包含API文档和功能测试,部分内网地址需要修改hosts文件 准备 新建表 然后查看服务器中hosts文件 命令:cat /etc/hosts 我们要做的就 ...

  3. string类的总结

    一.string类头文件:#include <string>;using namespace std; 二.string类方法: 1.获取string的字符串长度:size(),size返 ...

  4. maven-将本地jar包添加到本地仓库

    一.使用场景 1.把网上的jar包下到本地,如果要在maven的pom文件中配置使用,就必须将jar包按照maven的规范添加到maven仓库中,然后再pom中既可以配置引用了. 二.准备工作 1.电 ...

  5. 《Python基础教程》第一章:基础知识

    如果希望只执行普通的除法,可以在程序前加上以下语句:from __future__ import division.还有另外一个方法,如果通过命令行运行Python, 可以使用命令开关-Qnew.此时 ...

  6. Java程序中使用 Jsoup 爬虫( 简单示例 )

    一.maven项目里pom添加jsoup依赖 <dependency> <groupId>org.jsoup</groupId> <artifactId> ...

  7. JavaScript基础之变量的自增与自减

    一.自增(++) ⑴什么是自增? 通过自增运算符可以使变量在自身的基础上加一: 对于一个变量自增以后,原变量的值会立即自增一: 示例: <!DOCTYPE html> <html l ...

  8. B/S文件夹上传下载组件

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 先说下要求: PC端全平台支持,要求支持Windows,Mac,Linux 支持所 ...

  9. 汇编call jmp理解

    CALL   指令在实现转移之前,   要将返回地址存入堆栈的,   以便子程可以通过   ret   指令返回到   CALL   指令下面的指令接着运行;   jmp   就没用这些事儿,   直 ...

  10. CUDA-F-2-0-CUDA编程模型概述1

    Abstract: 本文介绍CUDA编程模型的简要结构,包括写一个简单的可执行的CUDA程序,一个正确的CUDA核函数,以及相应的调整设置内存,线程来正确的运行程序. Keywords: CUDA编程 ...