Browser 可以使用哪些方法避免浏览器缓存页面?

Browser 可以使用哪些方法避免浏览器缓存页面?,browser,caching,Browser,Caching,我有一个用户正在尝试查看在线考试的问题。在考试期间,他们从4个答案中选择1个,然后单击“答案”。对于这个用户来说,它似乎一次又一次地加载相同的页面/问题,在回答每个问题之后,它应该前进到一个新的问题。我的猜测是,这是缓存,但它似乎不是浏览器缓存,因为他们已经尝试了Internet Explorer和Firefox。他们正在使用卫星互联网,所以我猜他们的网络/路由器上还有其他缓存 以下是从服务器发送的标题 HTTP/1.1 200 OK Date: Tue, 03 Mar 2009 05:52:

我有一个用户正在尝试查看在线考试的问题。在考试期间,他们从4个答案中选择1个,然后单击“答案”。对于这个用户来说,它似乎一次又一次地加载相同的页面/问题,在回答每个问题之后,它应该前进到一个新的问题。我的猜测是,这是缓存,但它似乎不是浏览器缓存,因为他们已经尝试了Internet Explorer和Firefox。他们正在使用卫星互联网,所以我猜他们的网络/路由器上还有其他缓存

以下是从服务器发送的标题

HTTP/1.1 200 OK 
Date: Tue, 03 Mar 2009 05:52:38 GMT 
Server: Apache/2.2.8 (Unix) 
X-Powered-By: PHP/5.2.6 
Set-Cookie: PHPSESSID=[...]; path=/ 
Expires: Thu, 19 Nov 1981 08:52:00 GMT 
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma: no-cache 
Connection: close 
Content-Type: text/html; charset=UTF-8
我已经让用户完全重置了他们的浏览器设置,但这并没有产生任何影响。我在页面的GET查询/字符串中添加了一个时间戳,例如:

/path/question.php?exam_id=2323&user_exam_id=2334&timestamp=1236063834
在每次加载页面时,我可以使用哪些其他方法强制用户的计算机刷新页面

服务器正在运行Apache、PHP和MySQL。

我使用:

Cache-Control: no-cache Pragma: no-cache Expires: Thu, 01 Jan 1970 00:00:00 GMT 缓存控制:没有缓存 Pragma:没有缓存 到期时间:1970年1月1日星期四格林威治标准时间00:00:00 编辑: ... 从来没有遇到过问题。似乎在用户和应用程序之间有一个非常强大的缓存层。

我使用:

Cache-Control: no-cache Pragma: no-cache Expires: Thu, 01 Jan 1970 00:00:00 GMT 缓存控制:没有缓存 Pragma:没有缓存 到期时间:1970年1月1日星期四格林威治标准时间00:00:00 编辑: ... 从来没有遇到过问题。在用户和应用程序之间似乎有一个非常强大的缓存层。

请参见,缓存控制只能有一个值。我想你不需要缓存

编辑:要么这是一个旧的规范,要么这在事实上是不同的。试一试

Cache-Control: no-cache, no-store
Pragma: no-cache
Expires: -1
(从)

请参见,缓存控制只能有一个值。我想你不需要缓存

编辑:要么这是一个旧的规范,要么这在事实上是不同的。试一试

Cache-Control: no-cache, no-store
Pragma: no-cache
Expires: -1

(from)

设置Cookie:PHPSESSID=[…];路径=/

他们是否有可能运行某种cookie控件


如果是这样,可以将PHP设置为通过URL传播会话ID。

设置Cookie:PHPSESSID=[…];路径=/

他们是否有可能运行某种cookie控件


如果是这样,可以将PHP设置为通过URL传播会话ID。

这会对缓存产生什么影响?会话ID对于当前会话中的每个页面都是相同的。我认为这与缓存无关。你已经在这些标题中找到了所有已知的恶名扫荡者;闻起来更像是你的应用程序在没有cookies的情况下无法工作。Darryl,我认为这取决于你如何管理会话。您可以选择将其保存在服务器的本地内存中,而不使用cookie。记住客户端(默认情况下)是完全无状态的。这将如何影响缓存?会话ID对于当前会话中的每个页面都是相同的。我认为这与缓存无关。你已经在这些标题中找到了所有已知的恶名扫荡者;闻起来更像是你的应用程序在没有cookies的情况下无法工作。Darryl,我认为这取决于你如何管理会话。您可以选择将其保存在服务器的本地内存中,而不使用cookie。记住,客户端(默认情况下)是完全无状态的。