Possible caching problem with http files

Aug 19, 2009
17
0
#1
Hello

Is it possible to force the TYPE command to always retrieve the current version of the file from the web server, when using an http: filename? At the moment, TCC seems to retrieve the file from the Internet Explorer cache if it's available in there.

I'm publishing a file to our web server using a COPY to an FTP address, but when I then TYPE the file and specify the corresponding http: URL, I still see the previous file contents. Moving to another PC and typing the file returns the expected contents, but if I re-type the file on the original PC I still see the original version.

If I view the file via IE, I still see the original version too. If I then force IE to re-dwonload the file by pressing F5, I see the new version. If I then re-type the file in TCC, I now also see the new version (until I upload another new version, that is).

I also have the same problem if I use the COPY command - the copied version from the http URL is the original version, not the newly-uploaded one.

If this is not currently possible, then please would you consider adding switches to the TYPE, COPY and MOVE commands?

Thank you!

Chris
 

rconn

Administrator
Staff member
May 14, 2008
10,321
94
#2
> Is it possible to force the TYPE command to always retrieve the current
> version of the file from the web server, when using an http: filename?
> At the moment, TCC seems to retrieve the file from the Internet
> Explorer cache if it's available in there.
There is no way for TCC to do this (currently or in the future) -- it's
internal to Windows.

Rex Conn
JP Software
 
#3
On Thu, 29 Apr 2010 20:05:21 -0400, rconn <> wrote:

|---Quote---
|> Is it possible to force the TYPE command to always retrieve the current
|> version of the file from the web server, when using an http: filename?
|> At the moment, TCC seems to retrieve the file from the Internet
|> Explorer cache if it's available in there.
|---End Quote---
|There is no way for TCC to do this (currently or in the future) -- it's
|internal to Windows.

Rex, don't you use IPWorks for that? IPWorks does not appear to use any of the
Windows Internet helper functions or to interact with IE at all. I can't
imagine how that could happen.

I just visited http://weather.noaa.gov/weather/current/KSYR.html with iexplore.
Then I TYPE'd the same URL while sniffing. TCC got it over the network. That
file changes every hour. I'll try again later when I know there's a version
newer than the one last seen by IE.
--
- Vince
 
#4
One thing's for sure. If I do it myself, with HttpOpenRequest() (WININET.DLL) I get it from cache unless I specify the INTERNET_FLAG_RELOAD flag. If IPWorks is somehow using WININET it would make sense to expose that flag to the programmer. Without that flag however, Windows does get some headers, probably to validate the cached version. I don't know exactly how that's done. Chris, are you using expiration in your file? I'm not sure if a new expiry time would invalidate an old one which hadn't been reached.

On Thu, 29 Apr 2010 20:05:21 -0400, rconn <> wrote:

|---Quote---
|> Is it possible to force the TYPE command to always retrieve the current
|> version of the file from the web server, when using an http: filename?
|> At the moment, TCC seems to retrieve the file from the Internet
|> Explorer cache if it's available in there.
|---End Quote---
|There is no way for TCC to do this (currently or in the future) -- it's
|internal to Windows.

Rex, don't you use IPWorks for that? IPWorks does not appear to use any of the
Windows Internet helper functions or to interact with IE at all. I can't
imagine how that could happen.

I just visited http://weather.noaa.gov/weather/current/KSYR.html with iexplore.
Then I TYPE'd the same URL while sniffing. TCC got it over the network. That
file changes every hour. I'll try again later when I know there's a version
newer than the one last seen by IE.
--
- Vince
 
Aug 19, 2009
17
0
#5
Chris, are you using expiration in your file? I'm not sure if a new expiry time would invalidate an old one which hadn't been reached.
Vince: I'm uploading an XML file to the web server with FTP -- it was when I decided to verify that the file was on the server by using the TYPE command with the URL of the corresponding file that I ran into problems, as I kept seeing the original contents of the file being displayed, rather than the new file.

Rex: I'm not familiar with IPWorks (if that's what you're using for the http access), but as Vince pointed out WinINet has the INTERNET_FLAG_RELOAD option. If IPWorks has something equivalent to this, please would you be able to add an option to the TYPE command and its friends that effectively sets this flag when opening the request?

Thanks in anticipation...

Chris
 

rconn

Administrator
Staff member
May 14, 2008
10,321
94
#6
> Rex: I'm not familiar with IPWorks (if that's what you're using for the
> http access), but as Vince pointed out WinINet has the
> INTERNET_FLAG_RELOAD option. If IPWorks has something equivalent to
> this, please would you be able to add an option to the TYPE command and
> its friends that effectively sets this flag when opening the request?
IPWorks does not have that flag, and is not using Wininet.

Rex Conn
JP Software
 
#7
| ---Quote (Originally by vefatica)---
|| Chris, are you using expiration in your file? I'm not sure if a new
|| expiry time would invalidate an old one which hadn't been reached.
| ---End Quote---
|
| Vince: I'm uploading an XML file to the web server with FTP -- it
| was when I decided to verify that the file was on the server by
| using the TYPE command with the URL of the corresponding file that I
| ran into problems, as I kept seeing the original contents of the
| file being displayed, rather than the new file.

I, too, often update the two websites I maintain, one of them always via FTP
from a TCC session. However, I always verify that the update is correct via
browser, which also verifies what user experience woul be. My browser is the
latest Firefox, with options set to verify cache is current each time a page
is viewed, which eliminates the OP's issue.

| Rex: I'm not familiar with IPWorks (if that's what you're using for
| the http access), but as Vince pointed out WinINet has the
| INTERNET_FLAG_RELOAD option. If IPWorks has something equivalent to
| this, please would you be able to add an option to the TYPE command
| and its friends that effectively sets this flag when opening the
| request?

I concur. Any program that allows retrieval of obsolete data as if it were
current is incorrect.
--
Steve
 
#8
On Fri, 30 Apr 2010 07:52:40 -0400, Chris Wilcock <> wrote:

|Vince: I'm uploading an XML file to the web server with FTP -- it was when I decided to verify that the file was on the server by using the TYPE command with the URL of the corresponding file that I ran into problems, as I kept seeing the original contents of the file being displayed, rather than the new file.

Can you verify that, after FTP upload, the file's last modification time on the
server has changed? Can you upload it with HTTP to see if that makes a
difference? There must be a mechanism by which it is determined if the file is
new. The lack of such would be a huge oversight on the part of IPWorks.
--
- Vince