<div dir="ltr"><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
That is a performance killer.</blockquote><div><br></div><div>I don't think it is as much of a performance killer as you say it is. Correct me if I'm wrong, but the standard connection limit is two. It is not as though every external file could be loaded at once. Additionally, as I said, you could split resources into multiple archives to take advantage of multiple connections, because they can be loaded asynchronously without issue.  Remember, the use case for this would be when there are likely dozens of different files that need to be loaded.</div>
<div><br></div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
So you get nondeterministic load behaviour anyway. This is not good.</blockquote><div><br></div><div>This is not so different than directly requesting a file from multiple tabs. Let's say page 1 and page 2 each use the same image. If I load page 2 first, it will go directly to the server. If I load page 1 first, page 2 will get the image from cache.<br>
</div><div><br></div><div>Clearly, there are other ways of performing this task, but I think this way is simple and I know that I would gladly accept it as a possibility. It falls within the same realm that any caching behavior does. It is meant purely for performance, but if you are relying on it for a given behavior then you are on a road to trouble. </div>
<div><br></div><div>The archived resources should be static, and also available as individual files. Pre-fetching them should only be used for performance gains, and if it would not be performant, it should not be used. However, I think there is a fairly wide range of sites or applications that could benefit from this feature. If there are other ways of improving it, or making it work better for certain edge cases, that would be great, but don't throw the baby out with the bath water.</div>
<div><br></div><div>Off the top of my head, I can think of a couple of ways to refine the feature and deal with the issues raised.</div><div><ul><li>Only blocking the loading of files that could logically be inside the archive: if the archive is located at "/js/resources.zip", then the only files that should be blocked would have to be located under "/js". <img src="/images/lolcat.jpg"/> would not be blocked.</li>
<li>To go a step further, there could even be some kind of "pattern" attribute that would block the loading of files that matched a url pattern. For example, if the archive were located at "/", but had a pattern of "**.js,**.css,/images/*", only js, css, and files under the "/images" directory would be blocked.<br>
</li></ul></div><br><div class="gmail_quote">On Tue, Jul 29, 2008 at 2:13 PM, Robert O'Callahan <span dir="ltr"><<a href="mailto:robert@ocallahan.org">robert@ocallahan.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div dir="ltr"><div class="Ih2E3d">On Tue, Jul 29, 2008 at 5:59 AM, Russell Leggett <span dir="ltr"><<a href="mailto:russell.leggett@gmail.com" target="_blank">russell.leggett@gmail.com</a>></span> wrote:<br></div><div class="gmail_quote">
<div class="Ih2E3d"><blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">
<div dir="ltr">Yes, the one major hang up that I foresee is how a browser should handle asynchronous loading. How would it know the contents of the archive before it loaded the archive so it did not try to load the same files directly? The simple answer would be to load the archive(s) synchronously. </div>

</blockquote></div><div> <br>That is a performance killer.<br><br></div><div class="Ih2E3d"><blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex"><div dir="ltr">
<div>As for references in a different tab, if the separate tab/document did not reference the zip archive first, it would operate as normal. It would check the cache and then attempt to load. If the zip had been loaded from the first page already, the file would be present in the cache, and if not, then the browser would attempt to retrieve it from the server.</div>

</div></blockquote></div><div><br>So you get nondeterministic load behaviour anyway. This is not good.<br> </div>Rob<br></div><div class="Ih2E3d">-- <br>"He was pierced for our transgressions, he was crushed for our iniquities; the punishment that brought us peace was upon him, and by his wounds we are healed. We all, like sheep, have gone astray, each of us has turned to his own way; and the LORD has laid on him the iniquity of us all." [Isaiah 53:5-6]<br>


</div></div>
</blockquote></div><br></div>