1.URL格式的解析
一个URL包括协议,网络地址,资源路径
协议:最常用的比如HTTP(超文本传输协议)FTP(文件传输协议)
网络地址:可以是域名或者ip地址,包括端口号,如果没有默认为80
资源路径:可以是多种多样的
2.浏览器将域名解析为ip地址
例如:baidu.com就是域名
1.先到各种缓存信息中查找
先到浏览器缓存记录中查找------浏览器会缓存DNS一段时间
系统缓存-----如果浏览器中没有找到,浏览器会有一个系统调用,获得系统缓存中的记录
路由器缓存-----接着将请求发给路由器,路由器一般也有自己的DNS缓存
2.DNS服务器查找
没有则发送请求到本地域名服务器每一个本地域名服务器都维护一个高速缓存,存放最近用过的域名及其IP地址
如果还没有则发出递归查询(本地服务器请求比他高一级的服务器,如此递归直到根域名服务器,肯定能找到这个服务器的IP地址)
通过这个IP可以找到客户端到服务器端的唯一路径
3.浏览器主机根据ip地址与服务器建立TCP连接。
浏览器向服务器端发送SYN连接请求,经过服务器与浏览器三次报文的交互连接建立完成,就可以发送数据了
我以前不明白为什么要先建立TCP连接,HTTP是比TCP更高层次的应用层协议,根据协议规定,只有低层协议建立之后才能建立高层协议,因此首先要建立TCP连接
4.浏览器向WEB服务器发送一个http请求报文,通过TCP协议发送给服务器
根据HTTP协议的要求,组织一个HTTP数据包,向服务器发送HTTP请