首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Session-ID和浏览器缓存=>是否足够智能,可以剥离SessID?

Session-ID和浏览器缓存=>是否足够智能,可以剥离SessID?
EN

Stack Overflow用户
提问于 2009-11-10 22:53:07
回答 2查看 1.8K关注 0票数 2

我有一个很大的问题:请看下面的示例链接。我的应用程序当前向所有“资源/链接”附加了一个会话ID。我在Firefox缓存中偶然发现了这一点:

代码语言:javascript
运行
复制
http://localhost:8080/jquery-ui-1.7.2.custom.css;jsessionid=A8483FBF3BB6DDA499E06210BE0D612C

我最大的问题是,像上面的URL这样的URL是否会导致任何缓存头(我使用Cache-Control已有几年)或多或少会变得无用,因为会话ID将使每个请求都是唯一的?

(==>What我的意思是,在30分钟后分配一个新的sessionID。而缓存很可能只在这段时间内有效。在这段时间之后,将生成新的会话ID,间接地使在其url中具有SessionID的客户端侧上的所有高速缓存的内容无效。

=>是智能的浏览器,可以发现要缓存的资源是:

代码语言:javascript
运行
复制
http://localhost:8080/jquery-ui-1.7.2.custom.css

而不是:

代码语言:javascript
运行
复制
http://localhost:8080/jquery-ui-1.7.2.custom.css;jsessionid=A8483FBF3BB6DDA499E06210BE0D612C

或者url中的sessionId是否会导致浏览器中缓存或多或少被禁用?

非常感谢!1月

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-10 22:59:12

这不是浏览器是否足够智能的问题。W3 standard for HTTP声明不同的URL应该分别缓存。因此,浏览器观察完整的URL是正确的,包括缓存中的GET参数,如会话ID。

您不应该将会话ID附加到任何静态内容(如样式表)。

票数 3
EN

Stack Overflow用户

发布于 2009-11-10 22:59:13

你是对的-浏览器还不够智能,一个不断变化的URL将非常有效地否定缓存。

为什么要把会话ID放在第一个位置呢?如果资源不依赖于会话,则从URL中删除会话ID,这将解决您的问题。如果资源是会话相关的,那么您已经拥有了所需的所有资源,因为一个会话不应该使用来自另一个会话的资源。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1708533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档