`
flex_莫冲
  • 浏览: 1091840 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

一个session失效的伪命题

    博客分类:
  • php
阅读更多
最近遇到一个问题,一个ajax请求会调用已存在的session,再依据session做一些处理。发现session有时候有生效有时候没生效。

session是保存到db的,所以不存在访问不同服务器导致session不一致的问题。
页面使用了varnish,一开始以为是varnish 缓存了页面,导致请求没有执行到php,而是使用了http缓存。后来清除了varnish,依然有这个问题。

我又清理了下请求的页面,发现页面的header的简繁体链接用的是html后缀,这个可能是缓存HTML,导致点了这个header的link生成的页面实际上并不会生成session。而这个缓存页面的ajax自然也就没有session可以获取了。

好吧。解决办法来了:
1 将session的参数带入ajax,每次请求都带上,这样就不用依赖session来处理。
2 将html改成php。但是如果用了varnish或其他缓存技术,也有可能会导致上述问题。因此,最好还是用第一个办法,不依赖session。
分享到:
评论

相关推荐

    ext session失效 页面跳转

    这可以通过在后台定期发送心跳请求,然后在接收到Session即将过期的警告时显示一个提示框,让用户选择是否延长Session或立即登录。 总结起来,EXT中的Session失效页面跳转涉及到前后端的协同工作。前端EXT应用需要...

    session 失效

    1. **超时**:大多数Web应用都设置了一个Session的默认存活时间,如果用户在该时间内没有发出任何请求,Session就会自动失效。这是为了防止服务器内存被大量废弃的Session占用。 2. **用户主动注销**:用户可能会...

    session失效

    Session失效是指当一个Session因过期或被主动销毁而无法继续使用的情况。在实际应用中,Session的生命周期可以通过设置最大非活动间隔(Max Inactive Interval)来控制。该参数定义了从最后操作Session到Session自动...

    完美解决ajax访问遇到Session失效的问题

    最近由于一个项目,模块切换为ajax请求数据,当Session失效后,ajax请求后没有返回值,只有响应的html:<html>[removed]window.open(‘http://192.168.0.118:8080/welcomeAction/loginUI.do’,’_top’);...

    session失效重新登录后,返回之前页面,并保留表单数据

    Session是服务器端保存用户状态的一种方式,它通过一个唯一的Session ID来标识每个用户。服务器将用户的相关信息存储在内存中的Session对象中,这个ID通过cookie发送给客户端浏览器。当客户端每次请求时,都会携带...

    nginx反向代理导致session失效的问题解决

    一同事求援:后台系统的登录成功了,但不能成功登进系统,仍然跳转到登录页,但同一套代码另一个环境却没有问题。 背景 经了解,他对同一个项目使用tomcat部署了两个环境,一个在开发服务器上,一个在他本机,两个...

    设置Session失效的几种方法

    在系统登录后,都是设置一个当前Session失效的时间,以确保在用户长时间不与服务器交互,自动退出登录,销毁Session。 方法一:在主页面或公共页面中设置Session失效时间 在主页面或公共页面中加入:`session....

    【ASP.NET编程知识】iframe跨域与session失效问题的解决办法.docx

    在 ASP.NET 开发中,跨域和 Session 失效问题是一个常见的问题,特别是在使用 iframe 嵌入远程应用时。今天,我们来讨论这个问题的解决办法。 什么是跨域和 Session 失效? -------------------------------- 跨域...

    详解.net mvc session失效问题

    对于返回JsonResult的情况,可以在响应头中添加一个特定的属性(例如"sessionstatus"),然后在客户端检查该属性来决定如何处理。但这种方式不适用于返回PartialViewResult的Action。为了解决这个问题,我们可以利用...

    iframe跨域与session失效问题的解决办法

    Session通常依靠cookie来实现,通过在用户浏览器中设置一个唯一的标识符(即sessionId),每次用户请求服务器时,浏览器会携带这个标识符以告诉服务器是谁在请求。基于cookie的session机制可以保持用户状态,直到...

    session 状态 失效

    在IT领域,尤其是在Web开发中,"Session状态失效"是一个常见的问题,涉及到用户在网站上的交互体验和数据管理。本文将深入探讨这个问题,包括它的原因、影响以及如何解决。 首先,Session是Web应用程序中用于存储...

    extjs session失效解决方案

    使用filter来做后台,Ext.Ajax.on('requestcomplete', checkUserSessionStatus, this);用requestcomplete这个方法来异步判断session是否已经失效了

    在线人员 ajax聊天室 关闭浏览器和登出控制使session失效

    Session是服务器端用来跟踪用户状态的一种方式,当用户登录后,服务器会创建一个session,并将用户信息存储在其中。当用户关闭浏览器或执行登出操作时,需要确保对应的session被正确地结束,防止用户在未授权的情况...

    报表session与应用session常识普及

    每个用户访问网站时,服务器都会为该用户创建一个唯一的会话标识(session ID),通过这个标识可以在多次请求之间共享数据。系统session和报表session是两个独立的概念,它们在Web服务器下共存时,不会发生冲突,...

    session在httphandler失效

    ASP.NET的Session是基于cookie的,当一个用户访问网站时,服务器为该用户创建一个唯一的SessionID,并将其通过cookie返回给客户端。之后,每次请求时,客户端都会将这个SessionID回传给服务器,以便服务器识别并检索...

    JavaWeb Session失效时间设置方法

    - **控制并发用户数**:当Session失效时,系统中在线用户数会减少,这可以帮助限制系统的负载,保证系统性能在一个合理的范围内。 - **防止同一用户重复登录**:Session有效时,若同一用户尝试再次登录,系统通常会...

    Ajax请求session失效该如何解决

    当用户登录后,服务器会创建一个Session,并将用户的登录信息存储在其中。然而,当Session失效时,用户应该被重新定向到登录页面以重新验证身份。对于常规HTTP请求,我们可以轻松通过登录过滤器来处理这个问题。但...

    Ajax Session失效跳转登录页面的方法

    然而,在使用Ajax技术进行异步请求时,会遇到一个问题,即如何在Session失效的情况下处理请求并跳转到登录页面。本文主要针对该问题提供了详细的解决方案,并以Struts2框架为例,讲解了如何通过拦截器来实现这一功能...

    weblogic设置session超时时间

    WebLogic 是一个功能强大且流行的 Java 企业级应用服务器,支持多种方式来设置 Session 的超时时间。在本文中,我们将介绍如何在 WebLogic 中设置 Session 超时时间。 Method 1: 使用 web.xml 文件 在 Web 应用...

Global site tag (gtag.js) - Google Analytics