Bug 126720
| Summary: | Improper conditional request handling | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Lee Jensen <lee> |
| Component: | Page Loading | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Major | CC: | mnot |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Lee Jensen
This has been an issue at least since the public release version of safari shipped with Mavericks as far as I can tell. Possibly earlier. The symptoms are the periodic appearance of a blank page when refreshing. It appears to be due to improper handling of conditional requests when refresh is requested by the user.
# Steps to reproduce
* Access a resource that delivers conditional content (Cache-control: public as well so things are actually cached)
* Open web inspector and hit return in your URL bar till you note safari sending conditional requests and receiving 304s back
* Refresh the page (cmd+r or refresh in url bar)
# Result
A blank page should appear.
# Expected result
The page content should be rendered
On the final/full refresh safari seems to be sending a conditional request (if-none-match present in the request headers). The server responds appropriately with a 304 response and a blank body. It's as if Webkit assumes that sent an unconditional request and fails to load the response from cache.
For reference the following URL exhibits the behavior described in the Mavericks build of Safari and the latest nightly as of writing.
http://pilotthisplanedown.bigcartel.com
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |