Miernik <[EMAIL PROTECTED]> writes:
> This happens on several sites, for example:
>
> http://www.pvcse.com/ex.change...marketdata
>
> and try to click on "view open trades".
> I get:
>
> WWWOFFLE Can't Refresh POST/PUT method
> Your request to refresh URL
>
> http://www.pvcse.com/ex.change...openTrades?!POST:a2aUZBKSjephrzMiw-xzXQ.40e70c6a
> failed because it is not possible to refresh pages that result from
> using the POST or PUT methods.
>
> Putting
>
> http://www.pvcse.com/*
>
> in DontCache section doesn't help.
> What can be done with this?
There are fundamental differences between a PUT/POST request and a GET
request. One of these differences is described in the section of the
HTTP/1.1 specification quoted below.
-------------------- RFC2616 - HTTP/1.1 --------------------
9.1.1 Safe Methods
Implementors should be aware that the software represents the user in
their interactions over the Internet, and should be careful to allow
the user to be aware of any actions they might take which may have an
unexpected significance to themselves or others.
In particular, the convention has been established that the GET and
HEAD methods SHOULD NOT have the significance of taking an action
other than retrieval. These methods ought to be considered "safe".
This allows user agents to represent other methods, such as POST, PUT
and DELETE, in a special way, so that the user is made aware of the
fact that a possibly unsafe action is being requested.
Naturally, it is not possible to ensure that the server does not
generate side-effects as a result of performing a GET request; in
fact, some dynamic resources consider that a feature. The important
distinction here is that the user did not request the side-effects,
so therefore cannot be held accountable for them.
-------------------- RFC2616 - HTTP/1.1 --------------------
If it was possible for WWWOFFLE to re-request something that was
originally a POST request then there is a chance that the browser
would make a re-request without the user knowing it. Also to be able
to make the request again the contents of the original request would
need to be stored at the time and resent. There are obviously a lot
of web forms where it would not be appropriate for this to happen.
For the particular case that you have quoted I don't understand how
clicking on a link could give you this message. The request that is
made for a URL that uses POST will have the response stored in one of
the special WWWOFFLE URLs like the one listed above. This URL is
unique for each request based on the contents and the time of the
request (it changes each second). If clicking on the link causes a
new POST request to be sent then it would have a different URL and not
be a refresh of an existing one.
If you access this web page without WWWOFFLE do you get a message from
Mozilla that you will be re-posting form data? This is what normally
happens if you refresh the page that comes from a POST request. It is
possible for the browser to do this since it is the user interface,
but it is not possible to get WWWOFFLE to do this.
--
Andrew.
----------------------------------------------------------------------
Andrew M. Bishop [EMAIL PROTECTED]
http://www.gedanken.demon.co.uk/
WWWOFFLE users page:
http://www.gedanken.demon.co.uk/wwwoffle/version-2.8/user.html