Safari browser question (re: "forms")

Whenever I use my Mac, I use Safari as my web browser. Generally, I like it but there a few things it does that drive me batty. Probably the most annoying is its all-too-frequent display of a warning when I want to go back one step in my surfing (i.e. when I want to return to the previous page). The warning would be tolerable if it didn’t also put things on hold until I responded:


Are you sure you want to resend a form again?

To reopen this page, Safari must resend a form . . . blah, blah.
. . .


(of course I want to resend; why the hell do you think I pressed the back button?)

Is there a way I can either totally disable this ‘feature’ or at least change the settings so that it doesn’t come up so frequently and so unnecessarily e.g. when I simply want to go back to the sending page after I’m done with current page.

Thanks!

I don’t know how to disable it, but if you just click and hold on the back button, it gives you a drop-down menu of the last several pages you’ve visited. I just click on the one I want, like “General Questions” and it takes me back without asking about re-sending a form.

Nope, can’t do that - the ‘back button’ is temporarily disabled, grayed out, until I answer the warning about resending a form. It’s really frustrating.

That behaviour is in fact strongly encouraged by the HTTP standard, and most other browsers act in exactly the same way (I think opera is the only popular browser that circumvents this behaviour).

The reasoning behind it is as follows: the page you’re going back to was created in response to a POST request, and POST requests imply that some action is happening at the server end - so you’re not just viewing a page, you’re initiating an action. Which could be anything. Examples of typical post requests: posting (hah) a message on a forum, logging in (or out), deleting stuff, finalizing an order in a web shop etc.

As you can see, it’s crucial that POST requests are not automatically resend without the user being aware, since that could result in all kinds of unpleasantness. The standard implies that browser should require the user to confirm any action that would replay a POST, and most browsers assume that a <back> to a POST is in fact a request to replay the POST. Opera I think just shows you the result of the last POST and doesn’t send any request, so it doesn’t ask unless you explictely <reload> that page.

If you’re using a site that seems to have this behaviour without any clear reason, then it’s probably using POST requests when it should be using plain GET requests instead. Annoying, but not as dangerous as the other way around.

Superfluous: Thanks for the explanation. You nailed it with your last line - one site I visit a lot would seem to have no reason to cause this action. Maybe I should write its webmaster(?proper person) and mention the GET vs POST issue.

BTW, it’s actually a major site - PubMed - which one uses to search the medical literature. The first page is typically a listing of summaries of many articles and then you click on one that interests you to get more info. After that, you usually want to go back and look for other article summaries of interest. THAT’s when I press the back button and get hung up as described. Makes no sense to me (and never used to happen either, just the last six months or so).

Karl, I should have been clearer. In my experience, if I click on the back button, it brings up that “re-send form” thing, and you’re right, once it’s up, I have to respond to the dialogue box before I can use the back button.

But if instead of clicking and release, I click and hold, then I get the drop-down menu and not the re-send forms dialogue box.

Are you saying that in your version of Safari, even if you click and hold you get the re-send forms box?

Yes, unfortunately. :mad:

I was hoping for an answer, too; this drives me crazy when I’m surfing for jobs - it takes almost twice as long with all the extra clicking.

As I mentioned above, I’m almost sure opera works around this issue. You could try it, it’s free. http://www.opera.com/

This may be painfully obvious but on a site like you’re describing, they’re probably expecting you to navigate from within the site’s navigation structure. Is there a link called “Back to search results” or something on individual result pages? There probably is, unless it’s really poorly designed. I mean, forcing you to use their links instead of the back button because they use the POST method is bad design, but it’d be even worse design to not have a built in link that takes you back without the message coming up. You’d have to train yourself to use their links instead of clicking back like normal but at least no more popups.

I got so excited when you suggested this and was sure that it was going to be the solution. But, nope. There’s absolutely nothing along those lines. Such a let down! But thanks for trying.

This happens to me with a particular browser-based application and a particular knowledgebase I use here at work, but only with Safari. Neither IE, FF, Chrome nor Konqueror do it with those applications.