• 【思考】URI和URL的区别?以及URL的结构


    URI = Universal Resource Identifier
    URL = Universal Resource Locator

    在学习中,我们难免会遇到 URI 和 URL,有时候都傻傻分不清,为啥这边是 URI 那边又是 URL,这两者到底有什么区别呢?

    我们从名字上看

    • 统一资源标识符(Uniform Resource Identifier, URI):是一个用于标识某一互联网资源名称的字符串。
    • 统一资源定位符(Uniform Resource Locator, URL):是一个用于标识和定位某一互联网资源名称的字符串。

    可能大家就比较困惑了,这俩好像是一样的啊?那我们就类比一下我们现实生活中的情况:
    我们要找一个人——张三,我们可以通过他的唯一的标识来找,比如说身份证,那么这个身份证就唯一的标识了一个人,这个身份证就是一个 URI
    而要找到张三,我们不一定要用身份证去找,我们还可以根据地址去找,如 在清华大学18号宿舍楼的404房间第一个床铺的张三,我们也可以唯一确定一个张三,
    动物住址协议://地球/中国/北京市/清华大学/18号宿舍楼/404号寝/张三.人。而这个地址就是我们用于标识和定位的 URL
    我们从上面可以很明显的看出,URI 通过任何方法标识一个人即可,而 URL 虽然也可以标识一个人,但是它主要是通过定位地址的方法标识一个人,所以 URL 其实是 URI 的一个子集,即 URL 是靠标识定位地址的一个 URI

    Url 的构成

    URL(Uniform Resource Locator,统一资源定位符),用于定位网络上的资源,每一个信息资源都有统一的且在网上唯一的地址。

    Url一般有以下部分组成
    scheme://host:port/path?query#fragment

    Scheme: 通信协议,一般为http、https等;
    Host: 服务器的域名主机名或ip地址;
    Port: 端口号,此项为可选项,默认为80;
    Path: 目录,由“/”隔开的字符串,表示的是主机上的目录或文件地址;
    Query: 查询,此项为可选项,可以给动态网页传递参数,用“&”隔开,每个参数的名和值用“=”隔开;
    Fragment: 信息片段,字符串,用于指定网络资源中的某片断;


    其实,把 URL 说成是网址其实是很不严谨的说法,因为 URL 有很严格的结构,表示也很灵活、有弹性。
    RFC 3986: Uniform Resource Identifier (URI): Generic SyntaxSyntax Components 把 URL 描述为如下图:

    如图所示,把 URL 分成几个部分,这样便可以了解URL的构成。 在 URI scheme - Wikipedia 页面中对 URL 的描述更为详细,如下图:

  • 相关阅读:
    用Python打造一款文件搜索工具,所有功能自己定义!
    Python+Excel+Word一秒制作百份合同
    只需6行代码,Python将PPT转为Word!
    老板让我从几百个Excel中查找数据,我用Python一分钟搞定!
    爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别
    SoftEther服务端配置
    SoftEther服务端安装
    nginx学习
    zookeeper安装
    prometheus监控之自动发现
  • 原文地址:https://www.cnblogs.com/blknemo/p/13198506.html
Copyright © 2020-2023  润新知