3 ms·
Some of the parameters are there to enable certain performance enhancements. For example: -The home page, after rendering the search box and all that, asynchro
by daave 14y ago
Some of the parameters are there to enable certain performance enhancements. For example:
-The home page, after rendering the search box and all that, asynchronously downloads the css, images and html needed to display the chrome around the results listing.
-That way it is cached on the client, and when they perform a query, less data has to be downloaded from Google's servers (just the actual results & ads), making the result page render faster.
-It knows not to download all the chrome due to the presence of the 'fp' GET parameter, the absence of that parameter will cause the entire results page, including chrome, to be downloaded.
I presume the rest of the parameters are useful for similar reasons.
It should also be noted that for non-HTML5 compatible browsers, modifying the hash fragment with JavaScript is the only way to change the url that gets bookmarked without causing a page reload (which would add latency), so if you want a bookmarkable local results page for images with certain preferences, adding a bunch of crap (latitude, longitude, preference hash, query, search type, etc.) to the fragment is the only way.