Solved

Stop NETSCAPE from using cache with LOCATION

Posted on 1997-12-14
2
165 Views
Last Modified: 2013-12-25
People can log onto my website and select a hyperlink which leads them to my F-LVE.HTM web page.  The client can submit a new FTP/IRC site and then can see the "refreshed" F-LVE.HTM with the new submission.

Behind the scenes, I have a Perl program which makes use of the HTTP header:  LOCATION  to get the browser to redirect itself to the newly updated page:
ie:  print "Location: http://mywebsite.com/f-lve.htm";

Unfortunately, Netscape (and I'm sure other browsers) uses its cache to recall the F-LVE.HTM file and so the page appears to be NOT updated even though it really is.  How do I get browsers to "actually" call my fresh F-LVE.HTM?

I have used the not-so-great OPEN command to open the file and just display its contents on screen, but I the F-LVE.HTM page has hyperlinks with respect to the main drawer: http://mywebsite.com/  not http://mywebsite.com/cgi-bin/ (which it seems to be stuck within due to the cgi program call).  Also I hate the Netscape URL location display to show http://mywebsite.com/cgi-bin/ftp.cgi and it's really showing F-LVE.HTM.

I really hope I haven't confused you all.  I'm just a little hyper right now  :>

Hope you can help!


0
Comment
Question by:mirror
2 Comments
 
LVL 6

Accepted Solution

by:
alamo earned 10 total points
ID: 1831648
There are various ways to do it, all have their shortcomings though.

Simplest and only 100% sure-fire method that the user will see what you want: your "open file and print as results of form sumission" scheme. Fix the relative links by adding a base href tag e.g.
<BASE HREF="http://mywebsite.com/f-lve.htm">
and the relative links will work just fine.
People know they just submitted a form, the fact it's not the main URL is understandable to most people.

Other ways, none of which are guaranteed 100% (as if anything on the web is):

- Make your results page say something like "Results Accepted, going to main page" and use a meta tag such as
<meta http-equiv="REFRESH" content="10; URL="http://mywebsite.com/f-lve.htm">
The browsers I've seen that support that meta tag seem to get the page unconditionally. But not all support it. You could also have a link and say "if this page doesn't change in 10 seconds click here, and you may need to press Reload or Refresh".

-Change the URL you are redirecting it to, by adding ? and an argument, e.g. http://mywebsite.com/f-lve.htm?refresh. If you expect people to be submiting to the script multiple times make the query string different each time.

- Change your URL sneakily - easiest on a server such as IIS which is case-insensitive, simply change the capitalization of your page name. The client won't know the the server will ignore case. If your server doesn't ignore case, try using an alias of your webserver, if there is one (e.g. often mysite.com is mapped to same machine as www.mysite.com, and the browser generally treats them as different sites. But this won't work well if the user submits multiple times.

That's all I can think of right now, there's no universal method unfortunately. Good luck!
0
 

Author Comment

by:mirror
ID: 1831649
Alamo, you really know TOO much!  You still da man!
Do you know anything about CGI-Perl...
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Introduction:   Welcome to my first article ever. To begin with, the reason I write this article.  I participated in a question on Experts Exchange about the start command in Windows and there were some discussion about the usage. The discussio‚Ķ
Active Directory replication delay is the cause to many problems.  Here is a super easy script to force Active Directory replication to all sites with by using an elevated PowerShell command prompt, and a tool to verify your changes.
Learn the basics of strings in Python: declaration, operations, indices, and slicing. Strings are declared with quotations; for example: s = "string": Strings are immutable.: Strings may be concatenated or multiplied using the addition and multiplic…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now