在我的应用程序(*)中,我有时需要打开一个带有一些参数的URL (在默认的用户浏览器中)。
例如:http://www.mySite.com/myPage.php?p1=param1&p2=param2&p3=param3
在一些计算机上,我遇到了缓存问题,即使发送不同的参数,浏览器也用旧参数打开页面。
我尝试添加时间戳作为第一个参数:
例如:http://www.mySite.com/myPage.php?pXXX=XXX&p1=param1&p2=param2&p3=param3
但是,在一些电脑上,它并没有解决这个问题。
我想知道使用友好的URL是否有助于避免所有用户、所有浏览器、所有默认设置等的缓存问题。
例如:http://www.mySite.com/myFalsePage/param1/param2/param3
[我使用友好URL的来源:
]
您知道使用这种传递参数的方法有什么优点吗?
谢谢,
阿塔拉。
(*)我的应用程序是一个exe文件(VB .Net),应用程序的菜单选项之一是使用用户默认浏览器打开URL:
'-- Create temporary *.url file and open it
Try
Dim line1 As String = "[InternetShortcut]"
Dim line2 As String = "URL=" & sUrl
Dim dst As String = GetSystemPathTemp() & "myAppTemp.url"
Dim sw As New System.IO.StreamWriter(dst, False)
sw.WriteLine(line1)
sw.WriteLine(line2)
sw.Close()
System.Diagnostics.Process.Start(Chr(34) & dst & Chr(34)) URL是表单,参数是表单的一些字段,因此用户不必键入它们。
通常,用户填写表单并重定向到“谢谢”页面。
我的问题是:下一次用户单击菜单并打开URL \表单时,根据当前的应用程序阶段,表单中应该有不同的字段值,但在某些计算机\ user \browsers上,第一个URL被缓存,然后所有表单都填充了初始字段,因此用户需要手动编辑它们(如果他注意到了问题),否则我就会得到带有不准确信息的表单结果--新用户记录上一个错误字段的值。
我的表格页现在是从-
<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past直到今天,它从以下所有选项开始-
<?php
//disable all browser caching MUST BE FIRST LINES WITH NO PRECEEDING SPACES ETC
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
// always modified
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
// HTTP/1.0
header("Pragma: no-cache");文件"myAppTemp.url“被更新,但浏览器打开旧的链接。
发布于 2011-06-29 14:10:15
解决缓存问题的URL不是解决方法。URL应该表示一个访问内容的方法,仅此而已。
最后,您将永远无法完全解决客户端缓存问题,因为他们可以做他们想做的任何事情。但是,有了一些耸人听闻的标题,你就会很好。
<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>来自:http://php.net/manual/en/function.header.php
发布于 2011-07-04 10:40:48
我想你找错答案了。如果查询字符串不同,客户端将永远不会加载缓存的数据,但是,如果缓存内容(具有链接的页面),那么您将再次请求相同的数据,即使您期望参数已经更改。
如果您在页面上动态生成urls,这可能是一个问题。一旦用户离开该页面,然后返回,它将在页面上具有相同的url,因为该页面是缓存的。
编辑:
我认为您可以绕过.url文件的创建,因为windows支持直接打开http链接,请阅读本文:http://support.microsoft.com/kb/305703
这样,您至少可以消除问题的一个错误源。
https://stackoverflow.com/questions/6521978
复制相似问题