On 12/1/14 4:26 PM, Tim Chase wrote:
On 2014-12-01 11:28, Israel Brewster wrote:
I don't know if this is a cherrypy specific question (although it
will be implemented in cherrypy for sure), or more of a general
http protocol question, but when using cherrypy to serve a web app,
is there anyway to prevent browser prefetch? I'm running to a
problem, specifically from Safari on the Mac, where I start to type
a URL, and Safari auto-fills the rest of a random URL matching what
I started to type, and simultaneously sends a request for that URL
to my server, occasionally causing unwanted effects.

All this to also say that performing non-idempotent actions on a GET
request is just begging for trouble. ;-)


This is the key point: your web application shouldn't be doing these kinds of actions in response to a GET request. Make them POST requests, and Safari won't give you any trouble.

Trying to stop Safari from making the GET requests might work for Safari, but then you will find another browser, or a proxy server, or an edge-caching accelerator, etc, that makes the GET requests when you don't want them.

The way to indicate to a browser that it shouldn't pre-fetch a URL is to make it a POST request.

--
Ned Batchelder, http://nedbatchelder.com

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to