First of all, thanks for the replies! I know how to do that using HTML,
PHP, JSP, JS etc... My BIG question is... is there really some way to do
that using just HTTP? Something like an OutputStream *directly* to the
client! Is it possible to think of a response returned to a client as a
message written in a file or displayed on the screen. For example...

ResponseOutputStream out = new ResponseOutputStream();
out.write("message 1");
out.write("message 2");
out.flush();
out.close();

Ok, I haven't seen that anywhere before, but I was just wandering if it
is possible.. Ben wrote something about keeping a socket open; how can I
do that?

Pantelis

On Mon, 2009-12-28 at 14:34 -0500, Matt Kennedy wrote:
> "RFC 2616  :-)  http://www.ietf.org/rfc/rfc2616.txt  (2626 is the Y2K
> RFC)"
> 
> 
> Woops.  Hm, next time I should probably copy/paste the link instead of
> fat-fingering the name huh?
> 
> 
> Rob is right about everything else here too, I should have made it
> more clear that the meta-refresh trick is hardly optimal as the
> wikipedia entry nicely states.  It sounded like the countdown part was
> really important to you though, but the combination of a redirect
> status code and the meta-refresh header may give you really
> inconsistent results. Do you know if you have the luxury of your
> client base only using a particular user agent?
> 
> 
> If you decide the countdown is that important, you may have to forgo
> HTTP correctness and leave the status at 200.  Despite it's deprecated
> status, the meta-refresh at this moment still works in all the
> browsers I have experience with if it isn't also contending with a
> refresh directive. You can definitely use it to get your delayed
> "redirect" effect.
> 
> 
> -Matt
> 
> On Dec 28, 2009, at 2:18 PM, Rob Heittman wrote:
> 
> > RFC 2616  :-)  http://www.ietf.org/rfc/rfc2616.txt  (2626 is the Y2K
> > RFC)
> > 
> > 
> > Sopasakis -- as HTTP itself doesn't have a means of specifying a
> > delay before a redirect, you won't get consistent behavior across
> > every HTTP compliant client or library.  Most user-agents will act
> > immediately on an HTTP redirect status code (3xx) and ignore the
> > entity, but supplying an HTML entity with the meta refresh tag may
> > have the desired effect for some user-agents.
> > 
> > 
> > The usual convention is to enclose a short HTML entity with a 3xx
> > redirect, something like this:
> > 
> > 
> > <html><head><title>Moved</title></head><body>
> > Please click this link if you are not automatically redirected to:
> > <a href="${new-location}">${new-location}</a>
> > <script>window.location.href="$[new-location}";</script>
> > </body>
> > 
> > 
> > You can doctor up some variants of this using the meta refresh or
> > Javascript timeouts, but I suspect getting consistent behavior
> > across basic HTTP clients like curl and regular browsers like
> > Firefox will be a challenge, since you're operating at the HTML/JS
> > level and not really the HTTP level.  If you find a great solution,
> > please post it back!
> > 
> > 
> > - Rob
> > 
> > On Mon, Dec 28, 2009 at 1:42 PM, Matt Kennedy <stinkym...@gmail.com>
> > wrote:
> >         If you want this to be an official HTTP redirect, for
> >         example a 301, 302, 303, 307 status code, then you can set
> >         that status code in the response object and set the entity
> >         to be some html that will do your refresh to the new URL,
> >         plus the countdown.  Be careful if you choose to go with 301
> >         or 302 as the response code, read IETF RFC 2626 for details.
> 
>

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2433495

Reply via email to