Scott,

Thanks for the suggestion. In the app I have I also use the following:

<META HTTP-EQUIV="Expires" CONTENT="Mon, 06 Jan 1990 00:00:01 GMT">

Should I remove this.

Thanks

Steve Fogelson
Internet Commerce solutions

-----Original Message-----
From: Scott Cadillac [mailto:[EMAIL PROTECTED]]
Sent: Friday, February 07, 2003 12:35 PM
To: [EMAIL PROTECTED]
Subject: Re: Witango-Talk: User Woes


Hi Jamileh,

The special reserved Local$httpHeader variable allows you control to a large
degree the HTTP Response Header the precedes your HTML output. Witango v5
gives even more control and features with regards to Headers.

The HTTP Response Header is what tells the browser what is being loaded,
such as file type and when to expire the file. Here is a quick little lesson
I found on www.google.com that might help you get started.

http://www.oreilly.com/catalog/httppr/chapter/http_pkt.html

Here is a basic example I use for all my Witango apps to immediately expire
my TAF file page content:

<@ASSIGN Local$httpHeader VALUE="Content-Type:
text/html<@CRLF>Cache-Control: no-cache, max-age=0, must-revalidate,
proxy-revalidate<@CRLF>Pragma:
no-cache<@CRLF><@USERREFERENCECOOKIE><@CRLF>">

You can assign this variable just about anywhere in a TAF file I believe -
but it's good practice to do it before any output just in case you are using
PUSH in a TAF.

Keep in mind that when you write to the Local$httpHeader in Witango, that it
overwrites the default HTTP Header Response from Witango/IIS so you MUST
include the <@USERREFERENCECOOKIE> metatag with your assignment - else it
can break the user session.

To see your HTTP headers in action, you can use a proxy trace tool or the
Fake tools I have on my web-site at:

http://xml-extra.net/webpage.xmlx?node=6

FakeBrowser allows you to see your Witango HTTP Response Headers when
requesting a file to view, and FakeServer allows you to see incoming HTTP
Request Headers to a Server from a browser.

I also found a more advanced trace tool at the following URL, which also
traces SOAP Service calls, as well as normal HTTP (the SOAP protocol is just
HTTP with some extensions afterall):

http://www.pocketsoap.com/yatt/

This is what you see when you open www.witango.com with FakeBrowser:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HTTP/1.0 200 OK
Server: Microsoft-IIS/5.0
Content-Location: http://www.witango.com/default.html
Date: Fri, 07 Feb 2003 18:22:39 GMT
Content-Type: text/html
Accept-Ranges: bytes
Last-Modified: Wed, 07 Aug 2002 13:30:23 GMT
ETag: "801395163ec21:8a9"
Content-Length: 751

<html>

 <head>
  <LINK REL="SHORTCUT ICON" HREF="http://www.witango.com/WinEditor.ico";>
  <meta http-equiv="content-type" content="text/html;charset=X-MAC-ROMAN">
  <meta name="generator" content="WithImagination Pty Ltd">
  <title>Welcome to Witango</title>
 </head>

.... more HTML......

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Notice the 2 carriage-returns after the HTTP Header? This is what separates
the Header from the output content (in this case HTML).

There is a very wide range of possible HTTP properties to use and can allow
you to do all sorts of things like force file downloads and automatic
redirects. I have found this knowledge to be invaluable.

The attached screen-shot shows the YATT trace tool with my HTTP Request
Header from my browser and then the subsequent HTTP Response from the server
below.

Hope this helps. Cheers....

Scott Cadillac
VP, Research and Development
Plus International Corp.
403-281-6090
[EMAIL PROTECTED]
http://www.plusinternational.com

Does your company have an Enterprise Information Portal? Check out Salsa at
www.plusinternational.com/flash/salsa.htm

----- Original Message -----
From: "Wilcox, Jamileh" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, February 07, 2003 10:37 AM
Subject: RE: Witango-Talk: User Woes


Scott - thanks for the explanation of the difference in Refresh; I
didn't realize that.

I would love to learn a lot more about caching and expiring content with
headers; I've read what's in the Tango documentation but that's not
enough info to help much if ya don't have the background knowledge.  Any
suggestions  for further reading?

Thanks.     j

> -----Original Message-----
> From: Scott Cadillac [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, February 06, 2003 5:52 PM
> To: [EMAIL PROTECTED]
> Subject: Re: Witango-Talk: User Woes
>
>
> Hi Jamileh,
>
> Here's a tip that is usually helpful:
>
> In most versions of MSIE, using the "Refresh" button from the
> toolbar triggers MSIE to reload the latest 'cached' content
> from the "Temporary Internet Files" folder on the user's
> computer. Typically MSIE will determine cache rules on it's
> own and usually errors on the side of caution and cache
> things longer than usual.
>
> But....if you right-click on your page and choose "Refresh"
> from the popup context menu, it will usually override this
> and get the latest content (that has not expired yet) from
> your LAN proxy cache (if you have one). I find this a bit
> more helpful, because most proxies will expire content when
> they are supposed to.
>
> Learning everything you can about expiring your TAF output
> via the Local$httpHeader is very important with dynamic applications.
>
>
> As for your CSV thing, try putting the <@assign
> name="httpHeader" .....> tag on the very first line of the
> last Results Window in your TAF - and on the same line put
> <@PURGERESULTS> and your CSV output variable afterwards. This
> will eliminate any garbage spaces and such.
>
> Oh, and turn debugging off in the file.
>
> Hope this helps. Cheers.....
>
>
> ----- Original Message -----
> From: "Wilcox, Jamileh" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Thursday, February 06, 2003 3:37 PM
> Subject: RE: Witango-Talk: User Woes
>
>
> Phil  -  would having him hit Refresh in his browser do the
> same thing? (That would be easier over the phone than
> changing IE settings).
>
> On the csv problem, in the WriteFile.taf, I'm doing this:
>
> <@assign name="httpHeader" scope="local" value="Content-Type: <@var
> local$filetype><@crlf>Content-Disposition: attachment;
> filename=<@dq><@var
> local$IncomingRFName><@dq><@crlf><@userreferencecookie><@crlf>">
>
>
> Thank you!!
>
>
> > -----Original Message-----
> > From: Phil Wade [mailto:[EMAIL PROTECTED]]
> > Sent: Thursday, February 06, 2003 4:23 PM
> > To: [EMAIL PROTECTED]
> > Subject: Re: Witango-Talk: User Woes
> >
> >
> > Jamileh,
> > Try turning the cache in IE to check for changes "every
> visit to the
> > page". This is in the settings of "Temporary Internet files".  IE
> > defaults to automatic, but it has been my experience that
> with highly
> > dynamic sites, IE does not always see changes to pages
> immediately if
> > set to automatic.  Your system may be logging him on and
> the browser
> > is returning the error that is now cached in his browser.  You can
> > also control this on the server by expiring the content faster.
> >
> > With your csv issue, are you modifying the http header?
> >
> > Phil
> >
> > On 7/2/03 9:12 AM, "Wilcox, Jamileh"
> <[EMAIL PROTECTED]> wrote:
> >
> > > Another oddball case (it's one of THOSE days).
> > >
> > > I've got a user (PC technician) who swears he gets an
> > "invalid login"
> > > message when he puts his username into this application,
> > even at the
> > > 'forgot password' prompt.  I can put in his username and
> > password and
> > > get logged in just fine; the app mailed him a new password when I
> > > tried the 'forgot password' with his username.
> > >
> > > He also swears that he's cutting and pasting the username & reset
> > > password directly from the email, which is what I'm doing.
> > Of course,
> > > he was typing the info in when I was on the phone with him.
> > >
> > > I've been on the phone with him, and he's been very helpful.  He
> > > thinks maybe it's named pipes in SQL, or cookies in his
> browser, or
> > > because the browser is sending his username as a token to
> > the server,
> > > or ... (he's learning Cold Fusion, can you tell?)
> > >
> > > Can anyone think of *any* possibility that I should check
> > before I go
> > > across campus to his office and cut & paste the %#$^~! fields in
> > > myself? I'm not very familiar with the logs, but I don't
> > see anything
> > > in them that would even touch on this.
> > >
> > > Thanks.     j
> > >
> > >
> >
> ______________________________________________________________________
> > > __
> > > TO UNSUBSCRIBE: send a plain text/US ASCII email to
> > [EMAIL PROTECTED]
> > >               with unsubscribe witango-talk in the message body
> >
> > ______________________________________________________________
> > __________
> > TO UNSUBSCRIBE: send a plain text/US ASCII email to
> > [EMAIL PROTECTED]
> >                 with unsubscribe witango-talk in the message body
> >
>
> ______________________________________________________________
> __________
> TO UNSUBSCRIBE: send a plain text/US ASCII email to
> [EMAIL PROTECTED]
>                 with unsubscribe witango-talk in the message body
>
> ______________________________________________________________
> __________
> TO UNSUBSCRIBE: send a plain text/US ASCII email to
> [EMAIL PROTECTED]
>                 with unsubscribe witango-talk in the message body
>

________________________________________________________________________
TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
                with unsubscribe witango-talk in the message body

________________________________________________________________________
TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
                with unsubscribe witango-talk in the message body
________________________________________________________________________
TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
                with unsubscribe witango-talk in the message body

Reply via email to