当用户在浏览器中输入一个URL(如www.baidu.com)进行网页浏览时,将会发生一系列的操作。大致流程如下:
1) 域名解析
当用户输入域名后,需要将域名转换成正确的IP地址,才能够访问web服务器。
首先会查询本地域名hosts文件,若存在对应域名的IP地址,就直接使用。若hosts文件中没有对应域名的IP地址,则向DNS域名服务器发送请求,查询对应的IP地址。
2) 发送请求
获取IP地址后,浏览器首先通过网络与web服务器建立TCP连接,之后将向web服务器发送相应的HTTP请求。
3) 服务器响应
服务器接收到请求后,首先解析请求的web站点(一个服务器可能会管理多个web站点);之后,根据请求的资源名查找对应的资源,若查找到资源,服务器将返回数据资源给用户;若查找不到对应的资源,服务器将返回错误信息。当服务器返回数据后,将主动关闭TCP连接。
4) 接收响应
浏览器接收到服务器的响应后,进行一系列的操作,如显示页面,或再次请求其他资源(如图片文件、脚本文件等)。