当你在浏览器输入一个网址,如http://www.baidu.com,按回车之后发生了什么?请从技术的角度描述.
1.DNS解析
DNS解析的过程就是寻找哪台机器上有你需要资源的过程,寻找的过程遵循就近原则。
输入一个网址并按回车的时候浏览器会根据输入的URL去查找对应的IP(就是根据输入的URL查找对应的IP),过程如下:
DNS根据域名查询IP地址的过程为:浏览器缓存 --> 操作系统缓存 --> 路由器缓存–>本地(ISP)域名服务器缓存 --> 根域名服务器。
2.进行TCP连接
这时候浏览器终于得到了IP以后,向服务器发送TCP连接,TCP连接经过三次握手。
3.浏览器发送HTTP请求
4.服务器处理请求
5.浏览器解析渲染页面
1)浏览器显示HTML
2)浏览器向服务器发送请求获取嵌入在HTML中的对象
3)浏览器发送异步(AJAX)请求
6.关闭TCP连接
当数据完成请求到返回的过程之后,根据Connection的Keep-Alive属性可以选择是否断开TCP连接。
TCP的断开与连接不一样,断开可以分为主动关闭和被动关闭,需要经过4次握手。
最后 当浏览器需要的全部数据都已经加载完毕,一个页面就显示完了。