我有一个单页网站,大量使用AJAX
. 用户操作都以例如的形式发送到 URLrequests.aspx?obid=1&verb=shownotes
我的托管服务提供商的会话到期时间设置为 5 分钟,这太短了。我正在努力让他们改变这一点。
我曾尝试使用setInterval
每 30 秒向服务器发送一次请求,但会话仍会在 5 分钟后过期。请求中的信息setInterval
看起来就像一个用户请求,但我猜服务器没有被愚弄。
我已经禁用了缓存jQuery
。
我不使用cookies。
可能是setInterval
请求被缓存在服务器本身上吗?我应该在这个请求中附加一个随机字符串吗?
确保会话保持活动状态的最佳方法是什么?
编辑:以下是从 Chrome 开发人员工具复制的请求标头:
典型用户操作的请求标头:
POST /requests.aspx?obid=0&otid=203&verb=display¶m1=0¶m2=0¶m3=0 HTTP/1.1
Host: applify.co.za
Connection: keep-alive
Content-Length: 0
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://applify.co.za
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36
DNT: 1
Referer: http://applify.co.za/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: ASP.NET_SessionId=4li3ilr0bsb5yc1uf5oy1pd1
操作的请求标头setInterval
:
POST /requests.aspx?obid=0&otid=545&verb=donothing¶m1=¶m2=¶m3= HTTP/1.1
Host: applify.co.za
Connection: keep-alive
Content-Length: 0
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://applify.co.za
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36
DNT: 1
Referer: http://applify.co.za/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: ASP.NET_SessionId=4li3ilr0bsb5yc1uf5oy1pd1
两者看起来几乎一样。