We have a user who was getting 404 page not found errors on all pages. When I looked in the access logs, sure enough I could see the server sending a 404 response. There were no errors in the server logs and other users were having no problem fetching the same pages. After she rebooted her machine, everything was working fine again so presumably something funky was going on with her machine causing the problem. But what on the client side could cause the server to send 404? There would have to be something wrong with the request right? She is using IE8 on Windows 7 and the server is running Tomcat 6.x. My real concern is to figure out if there is anything about our website that could be causing this. For example, would a memory leak in the javascript cause this behavior?
It entirely depends on what logic your web application server is using to process page requests.
Say, for example, that your web app uses a session cookie sent by the client to determine the proper destination of their requests -- when a client logs into the web app, they receive a cookie that then dictates how your web app processes their requests. If that session cookie gets out-of-date with the state of the web app for any reason (the web app gets restarted and loses session state, or any of a number of other causes), then the client might be sent to pages that don't exist anymore.
That's just one example... but in the end, the fact that a reboot of the client "fixed" the problem makes it seem like the issue was something cached by the client, and thus reset by the restart.
Empty the browser cache,
delete the cookies.
Try again.
Use Fiddler2 to trace the network between browser and server.
Check if there is a proxy in between