Open up developer mode in the browser, both firefox and chrome have this, then you can see the performance data on how the page loads, dns lookups, each object etc.
Most of the time if I see a delay prior to loading a page its either a dns lookup issue or the server hosting the content been slow to respond. Remember before the hosting server can respond it usually has to process backend data such as compiling php, database lookups and so on.
Modern protocols like http/2 aim to speed things up e.g. it cuts corners on the session setup and allows more parallel loading of resources.
Delays while pages are loading is 90% of time due to tracking crap, visit e.g. a newspaper website and its not unusual for it to be loading up 10+ domains to load up one page each of course which needs a dns lookup and sessions been created, 80% of which is tracking/ad related. Some sites also use a misguided principle based on old browsers like IE6 that its better to deliberately split content up across different hostnames, but the reality is that will increase dns lookups and session setup requirements.