I tested Chrome (linux and windows), Firefox, and Opera.
Every time I do a pushState, Chrome is going to the server. It doesn't seem to use the request in any way, I only noticed it because I was watching the log file.
Here is the request:
16 Mar 2013 01:00 PM ip=127.0.0.1 agent=Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22 uri=/ T1=0ms T2=0ms T3=0ms
Here is the line of code:
history.pushState({}, 'my_app', URL);
I know the URI says '/' but that isn't even the URL that is being pushed.
Firefox and Opera don't do this, and it seems like incorrect behavior to me. Is is a bug?
The reason I worry is for scaling. I don't want users making dummy requests while they are browsing my app.