浏览器输入网址后发生了什么?
在浏览器输入网址,按下回车后,首先浏览器会做域名解析,获取目标主机的ip
地址。
一、域名解析
主要有以下几个步骤:
浏览器搜索自身的
DNS
缓存,如果没找到,转2;搜索操作系统自身
DNS
缓存,如果没找到,转3;读取本地的
hosts
文件,查找有无域名对应解析,如果没找到,转4;-
浏览器发起一个
DNS
的一个系统调用:向本地域名解析服务器(由宽带服务商提供),发起一个域名解析请求。运营商的
DNS
服务器首先查看自身缓有无对应条目(没有过期,则解析成功),如果不成功;宽带运营商代替浏览器发起一个迭代
DNS
解析的请求
以www.imooc.com的IP地址为例:
经过八个步骤,最终查询到域名的IP地址,并将其返回给浏览器;
二、浏览器获得域名对应的IP地址后,发起与服务器的TCP连接请求(完成“三次握手”);
TCP的通信连接需要经过三个过程:
客户端向服务器发送一个建立连接请求
服务器接収到连接请求后发送同意连接的信号会客户端
客户端收到同意连接信号后,再次向服务器发送确认信号,至此,客户端与服务器完成连接建立
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。