如何定位URL路径资源?
一、什么是URL?
URL其实就是我们俗称的“网址”,它由以下部分组成:
- 协议:虽然我们说协议是程序员自己定的,但实际上已经有大佬们定义了一些现成的、又非常好用的应用层协议。http就是其中之一。
- 域名+端口号:如果是默认的端口号可以省略。
- 参数:是以?开始的键值对,键值对之间以&隔开。
二、当你输入一个网址时按下回车键,你的电脑发生了哪些事件?
- 浏览器向DSN服务器(是域名与之相对应的IP地址转换的服务器)请求解析该URL中域名对应的IP地址(本质上还是通过IP地址来查找,只不过IP地址不好记,所以通过域名来查找IP);
- 解析出IP地址之后,根据IP地址和默认端口80和服务器建立TCP连接(http的默认端口号是80,https的默认端口号是443);
- 浏览器发出读取文件(URL中域名后面对应的文件)的HTTP请求,该请求报文为TCP三次握手的第三个报文的数据发送给服务器;
- 服务器对浏览器请求作出响应,并把对应的html文本发送给浏览器;
- 释放TCP连接;
- 浏览器解析HTML文本并局部渲染。