当咱们在浏览器中输入一个url时,背后都发生了什么,想要弄明白这个问题首选咱们要知道浏览器的工做原理是什么?css
浏览器的工做原理就是,web浏览器与web服务器之间经过http协议进行通信的过程,c/s的握手协议就是http协议html
浏览器接受到一个url以后发生的过程大体以下图:web
接下来讲下html里的内嵌资源是如何请求加载的 html的内嵌请求资源主要就是js,css,image浏览器
1.js和css的资源加载都是串行的,由于浏览器须要一个稳定的dom树结构,js中颇有可能有代码会改变dom结构,浏览器为了防止这种状况就会阻止其余下载和呈现服务器
2.由于js有语法定义,若是一个html里引用多个js文件的状况下,第二个文件里的函数颇有可能引用了第一个文件里的变量和函数,此时若是先加载了第二个js浏览器就会解释错误,因此js要按照顺序串行加载,咱们开发者在写代码时也要注意js的书写顺序dom
3.css的加载也是串行的,原理和js同样函数
4.图片的加载是并行的,能够同时加载几个,而且加载完成之后当即显示url