First off, you shouldn't be pissed off about this. I think Louie C. K. says it best:
So. Why the discrepancy? Simple. Facebook uses a CDN. Your friend doesn't have the money or time to bother.
Wait! I thought Internet Neutrality won out? Is Comcast being a dick?
Yes. And no.
So, a CDN is what makes the internet amazing. It stands for Content Delivery Network. How is this different than the rest of the internet you ask? So here's a little metaphor to get us started:
Say you are writing your friend in London a letter, and you are in Los Angeles. What steps would you take? Well, you'd
Write your letter, duh.
- Drop it in a USPS box.
- USPS would take it as far as... honestly I have no idea. I do know that they would then hand it off to Royal Mail.
- Royal Mail would deliver it to your friend's post box.
Thanks to the modern innovation of the postal service, your friend can read the letter when she gets it. And the time between them asking for the letter and getting the letter is small, since it was waiting for them in their mailbox.
A CDN kinda works the same way. If your blog is not utilizing a CDN, every time someone goes to it they get the content from the server it is on.
That means, if I'm in Los Angeles, and your WordPress blog is in your house in Berlin, Germany, Not only does my request get routed all the way to Germany, but then all your content comes to me from Germany!!!
First, the fact that that can happen, in the words of the venerable Louis C. K. : It's Amazing!
Ok. So this seems like it would be a problem. Hence the CDN! So here's what happens:
You post that wonderful blog post about cute cats being cuddled by pandas being cuddled by puppies, because, that's what the internet is for right? Seriously. That and Porn. But I digress. You post that post and then share it on social media and all that jazz.
The very first time someone goes to your site, it will be slow, but then it will be amazing!. Here's what happens:
You're using a CDN now, like a boss. So instead of the Internet DNS servers routing that request to sooomuchcuteness.com they route it to the CDN. The CDN is a network of servers everywhere in the world that caches stuff at the edge of the internet (There really is no edge to the internet. It's a metaphor. Stop taking things so literally). So when your friend in Vegas is trying to look at the site, instead of going all the way to Berlin, they only go to, well, Vegas. The CDN looks at it's cache to see if it has the content that is being asked for. If it doesn't (on the first request), it then goes to your server in Berlin and asks for that content, delivers it to your friend, and then stores it for later, because we all know your friend is going to have to take a second look at your picture of your dog licking your cat.
So that's what a CDN is. It caches stuff close to the people who are asking for it. Why? Because like the people who are asking for it, the internet is lazy and doesn't want to do the work to go get it, and doesn't have time to wait for it. You know, because it's all prima madonna and self important.