Closed Bug 26638 Opened 25 years ago Closed 9 years ago

HTTP/1.1 support for "enhanced" caching - reducing GETs

Categories

(Core :: Networking, enhancement, P5)

enhancement

Tracking

()

RESOLVED WONTFIX

People

(Reporter: rbelmar, Unassigned)

Details

(Keywords: perf, Whiteboard: [NEED INFO]1d [nsbeta2-] [nsbeta3-][necko-would-take])

In current 4.x browser we (Hughes Network Systems) have found that when items are available in the cache the browser must still send a GET request to the web server to validate the freshness of the object. MSIE 5.x "learns" that if the response from the server continues to be "not modified" then it will stop sending the GET request for that object and immediately load from cache (during the same user session of the browser). This behavior is permited by HTTP/1.1 (but not defined in HTTP/1.0) and is critical for satellite-based networks where it is important to minimize the number of round-trips from client to host across the satellite link.
Changing assignee.
Assignee: gordon@netscape.com → gordon
Target Milestone: M16
Moving to M17 which is now considered part of beta2.
Target Milestone: M16 → M17
Keywords: beta2
Whiteboard: 1d
Keywords: nsbeta2
Warren - do you consider this a feature or a bug
Keywords: beta2
Whiteboard: 1d → 1d [nsbeta2+ till 5/16]
Is this done? Does Hughes need it?
Whiteboard: 1d [nsbeta2+ till 5/16] → [NEED INFO]1d [nsbeta2+ till 5/16]
It's not done, but I don't know about Hughes. Ruslan, does the HTTP/1.1 spec detail an algorithm for "learning" that a URL is "not modified"?
From what I can tell we support etags and if-modified-since as well as expires header. We do not support all the featues of Vary. What capability exactly are we talking about that IE supports and we don't?
The first paragraph of this bug outlines the specific feature Gordon was after. It involves "learning" that the result of GET is consistently "not modified" and henceforth (in the browsing session) not bothernig to check anymore. I'm marking this bug beta2-, as it has gotten too late to land it. I'm nominating for beta3 as this is quite crucial to use in satellite link applicaitons (for folks like Hughes). This is not a "user visible" feature, but rather impacts performance in a high latency scenario. This bug is performance bug is quite critcal to Hughes, and I'd like to see it handled if possible. Thanks, Jim
Keywords: nsbeta3, perf
Whiteboard: [NEED INFO]1d [nsbeta2+ till 5/16] → [NEED INFO]1d [nsbeta2-]
Still, if somebody will enlighten me what exactly we need to be doing that we are NOT doing already (apart from a few known bugs) - I'll appreciate it. We tried to follow 1.1 spec very precisely lately.
not criticial enough to stop ship for nsbeta3
Whiteboard: [NEED INFO]1d [nsbeta2-] → [NEED INFO]1d [nsbeta2-] [nsbeta3-]
Target Milestone: M17 → Future
Depends on: 65092
No longer depends on: 65092
Blocks: 65092
Adding darin to cc list.
HTTP could accomplish this by storing the relevant learned time period in the meta data of the cache entry. It could then check this before going out for an if-modified-since request.
Reassigning to HTTP.
Assignee: gordon → neeti
Component: Networking: Cache → Networking: HTTP
dropping dependency on bug 65092 - this bug does not block mozilla's compliance with HTTP/1.1.
No longer blocks: 65092
moving neeti's futured bugs for triaging.
Assignee: neeti → new-network-bugs
I've created a test page for the issue as I understand it: http://www.fibrespeed.net/~mbabcock/mozilla/get_target.php?foo=bar
-> me
Assignee: new-network-bugs → darin
Severity: major → enhancement
Priority: P3 → P5
Our proxy server was not 1.1 compliant, but it did have what I think is the same feature: http://developer.netscape.com/docs/manuals/proxy/adminux/cache.htm#1033017
QA Contact: tever → httpqa
-> default owner
Assignee: darin → nobody
Component: Networking: HTTP → Networking
QA Contact: networking.http → networking
Target Milestone: Future → ---
honza, do you want to change the expiration policy for heuristic objects based on this? If not - wontfix please.
Flags: needinfo?(honzab.moz)
Whiteboard: [NEED INFO]1d [nsbeta2-] [nsbeta3-] → [NEED INFO]1d [nsbeta2-] [nsbeta3-][necko-would-take]
(In reply to Patrick McManus [:mcmanus] from comment #19) > honza, do you want to change the expiration policy for heuristic objects > based on this? If not - wontfix please. I was thinking about an optimization like this myself once. I'm a bit afraid we tho break periodically updating pages that don't want/can't provide expiration time. I don't have any heuristic algorithm in my mind right now. Also, the motivation for this 16 years old bug is to save some satellite connection lags. I think these days this may have improved? For now WONTFIXing. To revive, let's rather open a new bug and reassess any need for this.
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: needinfo?(honzab.moz)
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.