在我的應用程序(*)中,我有時需要打開(在默認用戶瀏覽器中)帶有一些參數的URL。使用友好的URL來避免緩存問題
在某些計算機上,我有緩存的問題,就算我送不同的參數,瀏覽器將使用舊參數打開頁面。
我試圖添加時間戳作爲第一個參數:
- 例如:http://www.mySite.com/myPage.php?pXXX=XXX&p1=param1&p2=param2&p3=param3
- 其中XXX = Now.ToString( 「ssmmHHddMMyy」)
但儘管如此,對某些電腦沒有解決問題。
我不知道是否使用友好的URL將有助於避免對所有用戶,所有的瀏覽器,所有默認設置等緩存問題
[我使用友好的URL源:
- http://techie-buzz.com/how-to/create-seo-friendly-urls-using-mod-rewrite-and-php-part-1.html
- http://techie-buzz.com/tips-and-tricks/create-seo-friendly-urls-with-mod-rewrite-and-php-part-ii.html
]
您使用傳遞參數的這種方法知道任何DIS-優勢?
感謝,
Atara。
(*)我的應用程序是一個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 \ form時,根據當前應用程序階段應該有不同的字段值,但是在某些計算機\用戶\瀏覽器中第一次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」被更新,但瀏覽器中打開舊的鏈接。
我不能相信,如果URL是完全不同的瀏覽器使用緩存響應。什麼瀏覽器顯示這種行爲? – Gumbo
當我使用具有不同參數的相同URL時,瀏覽器使用緩存響應。這就是爲什麼我想使用不同的網址。 – Atara
請解釋流程,打開url(應用程序或網頁)的方式,如何加載它(XHR或常規頁面)以及用戶如何觸發它。 – jishi