On Tuesday 18 March 2008 14:22:26 Aschwin Wesselius wrote: > Per Jessen wrote: > > Yes, that's a very typical setup. When the form is processed, you send > > a 303 redirect to the "Thank you" page. That way, if the user hits > > the "back" arrow, he's taken back to the form URL, not the post URL. > > (which would then warn him about re-submitting etc.) > > Ok, fine. But why do a real redirect when a header with 303 could be > sufficient? If you model good enough, there would not be a need for > header(location) redirects. Or am I wrong? > > >> What is your opinion about (ab)using rewrites / redirects? Do you use > >> it quick and dirty, or is it some elegant way of controlling flow? > > > > I think there are plenty of perfectly valid reasons for using a > > redirect, whether dynamically from php or via an apache config. > > And undoubtedly there equally many poor reason for using redirect and/or > > rewrite. (they're very different things, by the way). > > I know they're different things. I only want to start a discussion so > people do understand other techniques instead of just using whatever > 'works' as a solution to their problem with flow. Redirects do solve > some issues, but they should be avoided whenever possible. > > header(location) mechanisms do come with a very huge disadvantage if you > don't use them with caution. Requests are reinitialised, libraries > loaded (again), DB connections setup/checked again, session lookups are > being done, log write for another request etc. That's quite an impact > for just not knowing what to do with flow. So, if you know what you want > to handle (control) and what you want the user to see (view), one should > be able to model it without the use of redirects unless it really is > needed. > > Or is it OK, to redirect and 'simplify' the flow? Are you asking or informing? The way of; I know it all, how do I do it? is confusing. All you do is stating the obvious either way, while it all depends on the task at hand. You may want to reconnect to a different db, cleaning out variables and posts? dunno. Probably you want the least possible transfer over the network since that is more costly than a new computer to a cluster. But with 10.000 users you have to do the math yourself, cuz heavy db tasks vs a small increase in traffic... -- --- Børge Holen http://www.arivene.net -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php