Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
437 views
in Technique[技术] by (71.8m points)

internet explorer - Caching from URLs with a query string

The web application I'm working on serves up images with URLs like /image?name=a.gif. Pages are loading slowly partly because browsers are not caching the images.

Is there any combination of http headers that will persuade IE to cache the images even though the URL has a query string in it? I'm trying to avoid the browser making any unnecessary requests (including if-modified-since type requests)

I'm happy with a solution that works with IE (6+) only. Also, I know that I can avoid the problem by URL rewriting - I'm just interested in understanding browser caching better.

Thanks

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

It's commonly thought that a lot of older browsers (including IE6) and some older versions of caches like Squid won't cache any file that has a querystring attached, regardless of the expires date.

The more robust alternative to querystring versioning is to put versioning information into the path, such as:

site/static/23212903/css/bundle.css

Or:

site/images/logo.r23212903.png

For more, here's a great article on setting cache headers correctly by Sergey Chernyshev.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...