Simetrical wrote:
On 8/7/07, Magnus Manske wrote:
These components are not gzipped: (0.6K) http://en.wikipedia.org/skins-1.5/common/shared.css?90 (27.5K) http://en.wikipedia.org/skins-1.5/monobook/main.css?90 (5.2K) http://en.wikipedia.org/skins-1.5/common/commonPrint.css?90 (39.8K) http://en.wikipedia.org/skins-1.5/common/wikibits.js?90 (4.5K) http://en.wikipedia.org/skins-1.5/common/ajax.js?90 (4.4K) http://en.wikipedia.org/skins-1.5/common/ajaxwatch.js?90
My recollection is that IE has issues with gzipped CSS/JS. And Googling shows that some people say other browsers also don't cache it on the client side for some reason.
These components do not have a far future Expires header: (no expires) http://upload.wikimedia.org/wikipedia/commons/thumb/d/dc/Linguistics_stub.sv...] (no expires) http://upload.wikimedia.org/wikipedia/en/1/18/Monobook-bullet.png
Why don't we use permanent URLs for images? I would have thought it would be something like /wikipedia/en/1/18/{versionnum}/Monobook-bullet.png. That would allow Expires to be set to "never" (or whatever the keyword is for that).
Note that this image is added at http://en.wikipedia.org/wiki/MediaWiki:Monobook.css so it's like any other normal upload (just that it is used on every page load).
When we use the FileStore, the url can have the file hash and thus never change. However, it's hurts usability.
This page has 9 external JavaScript files.
This page has 7 external StyleSheets.
We could definitely squash some of these into the same files for the purposes of serving them. Not all, though, because otherwise we damage client-side caching.
People will want to split functionalities on several custom pages. We should allow JavaScript transcluding (instead of action=raw, some kind of action=trancluded) so instead of insertPage(popups.js) you would have {{popups.js}}. The multiple http requests are probably as expensive as transcluding.