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