浅谈URL

451 阅读3分钟

基本概念

URL是 Uniform Resource Location 的缩写,中文意思是统一资源定位符,那怎么使用呢?比如你想到淘宝买东西,又不知道淘宝的地址,于是你打开了浏览器里面的百度,在百度里面搜索淘宝,这时地址栏的地址是'www.baidu.com/s?ie=utf-8&…',此时此地址就是URL,通俗的说就是我只要在浏览器(internet客户端)输入符合格式规范的URL,就能得到我想要的资源;

分析URL各个组成部分

  • 第一部分:"https://" 这是http协议,常见的有 http(80),https(443),mailto(发送邮件),ftp(21),rtsp(实时流),file。
  • 第二部分:‘www.baidu.com’这是访问的地址的域名,很多时候我们也可以使用ip+端口的方式访问资源;那么IP与域名的关系是什么样子的?
    • 域名就是IP的别称,我们通过ping可以得到域名对应的IP;从下图中可以看到,百度的ip是220.181.38.148;你也可以通过一下网站得到ip,ping.chinaz.com/baidu.com;
    • 我们也可以通过nslookup命令得到域名对应的ip,nslookup命令用于查询DNS的记录;

- 一个域名可以对应不同IP,这就是负载均衡,防止一台服务器支撑不住; - 当然一个IP可以对应不同域名,这就是共享主机; - 那么域名与IP是怎么对应起来的呢?是通过DNS服务器;当你在地址栏输入www.baidu.com时,你的浏览器会向电信或者联通提供的DNS服务器询问对应的IP地址,此时DNS会回答一个IP,浏览器会向此IP的80(http服务)/443(https服务)端口发送请求; - 那又什么是IP呢?IP全称是internet protocal,主要是如何定位一台设备;那如何获取IP呢?你到电信租用带宽,并且买一个路由器,只要路由器连上电信的服务器就会有一个外网的IP,这是你在互联网中的地址,如果路由器重启那你很可能被重新分配一个外网IP,也就是你没有固定的外网IP;如果你的手机连上了路由器发出的WIFI,你的手机也会有个IP,这就是内容IP,一般是192.168.xxx.xxx的格式;

  • '/s';表示资源存放的路径;
  • '?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=%E6%B7%98%E5%AE%9D' 表示通过url请求的参数;
  • '#/list' 表示哈希值,启动页面定位的作用,不会从客户端传到服务器;在地址栏中改变 # 后的字符串时,页面并不会刷新,但是会出发 hashchange 事件,很多前端路由的 hash 模式就是根据这种特性实现的。而改变出了frag(hash)之外的东西都会导致浏览器刷新,因为此时相当于向服务器发出了一个新的请求。

参考链接