一.输入URL发生了什么
1,浏览器向DNS服务器请求解析该URL中的域名对应的IP地址
2.解析出IP地址后,根据该IP地址和默认端口80,和服务器建立TCP连接
3.浏览器发出读取文件(URL中域名后面部分对应的文件)的HTTP请求,该请求报文作为TCP三次握手的第三个报文的数据发送给服务器
4.服务器对浏览器请求作出相应,并把对应的html文本发送给浏览器
5.释放TCP连接
6.浏览器解析HTML文本并局部渲染
二.URI与URL
1.URI
统一资源表示符,知识标识资源在哪里,URI包含URL
由三部分组成
- 访问资源的命名机制
- 存放资源的主机名
- 资源自身的名称,由路径表示
2.URL
统一资源定位符,是URI的子集,它除了标识资源的位置,还提供一种定位该资源的主要访问机制(比如说其网络位置),即提供具体方式找到该资源(位置+方式)
由三部分组成
- 协议或服务方式(如http,https…)
- 存有该资源的主机IP地址(有时候也包含端口号)
- 主机资源的具体地址(如目录和文件名等)
三.DNS解析
1.什么是DNS?
DNS是一种组织成域层次结构的计算机和网络服务命名系统,他用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换成IP地址的工作。DNS就是这样的一位"翻译官"
2.DNS解析过程
- 检查浏览器缓存中是否缓存过该域名对应的ip地址
- 如果在浏览器缓存中没有找到ip,那么将继续查找本机系统是否缓存过ip
- 向本地域名解析服务发起域名解析的请求
- 向根域名解析服务器发起域名解析请求
- 根域名服务器返回gTLD(通用顶级域)域名解析服务器地址
- 向gTLD服务器发起解析请求
- gTLD服务器接收请求病返回Name Server服务器
- Name Server 服务器返回ip地址给本地服务器
- 本地域名服务器缓存解析结果
- 返回解析结果给用户DNS解析过程