Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Chrome - Confirm Form Resubmission - Different behaviors

In a commercial web application that uses POST requests frequently, it was necessary to perform history.go(-1) to trigger back navigation. As may others has experienced, I am getting -

Confirm Form Resubmission ERR_CACHE_MISS

error in Chrome. However, same works just fine in Firefox (this is no a duplicate, please read on).

It is true that using POST requests to render content is the reason leading to above problem (without using Post/Redirect/Get design pattern).

However, while looking for an alternative solution, it was observed that in certain web sites / apps it is possible to navigate back in Chrome (cache hit) where as in some sites it fails. I have inspected all the HTTP headers from successful sites and it looks like HTTP headers are not making any difference.

Could it possibly be the browser acting differently based on the SSL certificate used by the web application or what could be the reason for back navigation working in certain web sites?

Example working web applications :

http://gmail.com/ - Enter some random email. Click next. Enter incorrect password multiple times and use browser back button to navigate back.

https://support.hostgator.com/ - Enter some random text in search box (do this several times). Use browser back button to navigate back.

POST request used in failing web application :

POST /post3.jsp HTTP/1.1
Host: 192.168.1.111
Connection: keep-alive
Content-Length: 18
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: https://192.168.1.111
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: https://192.168.1.111/post2.jsp
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8
like image 745
ayomawdb Avatar asked Dec 04 '25 18:12

ayomawdb


1 Answers

Identified that in Chrome back navigation fails in above work flow, unless SSL Certificate used in HTTPS communication is a valid, trusted certificate.

If you are using a self signed certificate, add the CA certificate as a Trusted Root Certification Authorities and everything should work as expected.

like image 148
ayomawdb Avatar answered Dec 06 '25 16:12

ayomawdb



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!