There are methods of loading content separately but to optimize page speed I think what you are after is just the order of requests from the page. Aside from JavaScript tricks, an HTML page loads content and resources in the order listed from top to bottom. Often HTML tends to match the visual flow but this isn't necessary. If user experience is improved by loading page content first then page content can be moved higher in the HTML page or template. Then CSS is used to position the content visually on the page where it is expected.
Alternately, content or data can be loaded with JavaScript and inserted within an element of a page (like a specific div). HTML can be parsed with this method but legacy support isn't good for this. iFrames work but they show everything. Best bet is to order content within the HTML document as it should load (CSS on top so browser has instructions on where things need to render) and use the CSS to position stuff where it needs to appear.
<style>
#navigation{
position:absolute;
top:0px;
height:200px;
}
#content{
position:absolute;
top:200px;
}
</style>
<div id=content>
Stuff I want to load first...
</div>
<div id=navigation>
Navigation to load later...
</div>
https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Tips_for_authoring_fast-loading_HTML_pages https://developer.mozilla.org/en-US/docs/HTML_in_XMLHttpRequest