Bug 15121 - REGRESSION (r18541): Refreshing a cached https page does not reload CSS and JavaScript resources
Summary: REGRESSION (r18541): Refreshing a cached https page does not reload CSS and J...
Alias: None
Product: WebKit
Classification: Unclassified
Component: Page Loading (show other bugs)
Version: 523.x (Safari 3)
Hardware: Mac OS X 10.4
: P1 Normal
Assignee: Nobody
URL: https://core.federated.com/~jim/webki...
Keywords: HasReduction, InRadar, Regression
Depends on:
Reported: 2007-08-30 22:32 PDT by Jim Studt
Modified: 2007-09-27 15:16 PDT (History)
2 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Jim Studt 2007-08-30 22:32:20 PDT
If you return to an SSL accessed page with Javascript or CSS files linked using 'back', then pressing 'Reload' or 'Shift+Reload' will only get the main file, not the Javascript or CSS files. The problem does not present if using HTTP to access the same pages and is not present in the webkit version shipped with 10.4.10.

Needless to say this will drive you mad when editing CSS and Javascript files over SSL.

Setting expire times in the past or cache control to no cache on the CSS and Javascript files does not effect the problem.

The problem presents from at least Apache 2.2 and lighttpd. I have not tested other servers.

You can see the problem at https://core.federated.com/~jim/webkitbug/ and see it not be a problem at http://core.federated.com/~jim/webkitbug/ There are navigation instructions on those pages, but it is simply going forward a page, back, refreshing, and comparing the two times at the top of the file, one of which is set when the page is fetched, and the other when the associated javascript file is fetched.

The three files in that directory can be retrieved from http://core.federated.com/~jim/webkitbug/webkitbug.tar.gz
Comment 1 Mark Rowe (bdash) 2007-08-31 01:42:16 PDT
The HTTP caching is implemented at a level below WebKit, so this bug will need to be migrated to Radar if it is confirmed.  I cannot reproduce the behaviour that you describe.
Comment 2 Oliver Hunt 2007-08-31 01:46:34 PDT
This is a *webkit* issue.  Hitting the refresh button doesn't refresh all cached resources, hitting enter in the url bar does.

So visiting the page, following the link, waiting, hitting back, and then hitting enter in the url bar does a correct refresh, whereas just using the reload button does not.
Comment 3 Mark Rowe (bdash) 2007-08-31 02:01:54 PDT
Oliver, I don't think the problem is what you think it is.  The case you're thinking of affects HTTP as well as HTTPS sites.  Signs point to this being outside of WebKit as I can reproduce this in 10.4 with the most recent nightly build, but not on 10.5.   However, as the reporter mentions, it does not reproduce with Safari 2.0.x.  That makes things a bit more confusing.  I guess we need a little more investigation to see what is happening on reload that causes this to not work correctly.
Comment 4 David Kilzer (:ddkilzer) 2007-08-31 06:23:31 PDT
I can confirm this is a regression from shipping Safari 2.0.4 (419.3) with original WebKit on Mac OS X 10.4.10 (8R218).

Comment 5 Jim Studt 2007-08-31 06:32:02 PDT
I checked the test cases, and webkit does not exhibit this problem if I cause the reload by pressing enter in the url bar, but it does if I press the reload button or shift-reload.
Comment 6 David Kilzer (:ddkilzer) 2007-08-31 06:57:19 PDT
The autospade script confirms that this regression occurred in Big Back/Forward Cache Rewrite of r18541:

Works: r18540  Fails: r18541
Comment 7 David Kilzer (:ddkilzer) 2007-08-31 07:08:43 PDT
Comment 8 Adele Peterson 2007-09-27 15:16:14 PDT
Committed revision 25779.