Chapter 8. Frontend SPOF in Beijing
I’m at Velocity China in Beijing as I write this article for the Performance Calendar. Since this is my second time to Beijing I was better prepared for the challenges of being behind the Great Firewall. I knew I couldn’t access popular U.S. websites like Google, Facebook, and Twitter, but as I did my typical surfing I was surprised at how many other websites seemed to be blocked.
Business Insider
It didn’t take me long to realize the problem was frontend SPOF (http://www.stevesouders.com/blog/2010/06/01/frontend-spof/)—when a frontend resource (script, stylesheet, or font file) causes a page to be unusable. Some pages were completely blank, such as Business Insider (http://www.businessinsider.com, Figure 8-1).
Firebug’s Net Panel shows that anywhere.js
is taking a long time to download
because it’s coming from platform.twitter.com
– which is blocked by the
firewall. Knowing that scripts block rendering of all subsequent DOM
elements, we form the hypothesis that anywhere.js
is being loaded in blocking mode in
the HEAD. Looking at the HTML source, we see that’s exactly what is
happening:
<head>
...<!-- Twitter Anywhere -->
<script
src=
"https://platform.twitter.com/anywhere.js?id=ZV0...&v=1"
type=
"text/javascript"
></script>
<!-- / Twitter Anywhere -->
...</head>
<body>
Figure 8-1. The dreaded “blank white screen” due to a blocking Twitter ...
Get Web Performance Daybook Volume 2 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.