Chapter 8. Rule 6: Put Scripts at the Bottom
Chapter 7 described
how stylesheets near the bottom of the page prohibit progressive
rendering, and how moving them to the document
HEAD eliminates the problem. Scripts (external
opposite: it’s better to move scripts from the top of the page to the
bottom (when possible). This enables progressive rendering and achieves
greater download parallelization. Let’s first look at an example of these
The best way to demonstrate the issues with scripts is by using an
example that has a script in the middle of the page.
This script is programmed to take 10 seconds to load, so it’s easy
to see the problem—the bottom half of the page takes about 10 seconds to
appear (see the section "sleep.cgi" in Chapter 7 for an explanation
of how components are configured to have specific load times). This
occurs because the script blocks parallel downloading. We’ll come back
to this problem after a review of how browsers download in
The other problem with the example page has to do with progressive
rendering. When using stylesheets, progressive rendering is blocked
until all stylesheets have been downloaded. That’s why it’s best to move
stylesheets to the document
they are downloaded first and rendering isn’t blocked. With scripts,
progressive rendering is blocked for all content
Get High Performance Web Sites now with O’Reilly online learning.
O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.