zoukankan      html  css  js  c++  java
  • 前端 — URL、URI、URN概念和区别整理,以及URL语法规则

    URL(Uniform Resource Locator),统一资源定位符。表示了互联网上资源的位置,同时也可选择性携带资源的访问方法。但是不确定该位置是否有相应的资源,若资源位置做过变动,之前的URL将无法访问到该资源。

    一般由三部分组成(文章下面待会详述):

    • 1、协议(或称为服务方式)
    • 2、存有该资源的主机地址(和端口号)
    • 3、资源在该主机中的具体地址(目录、文件名)

    http://www.jaykoo.com:80/my/url/location.html

    ---------------------------------------------
    //协议:http
    //主机地址:www.jaykoo.com
    //端口号:80
    //文件在主机中地址:/my/url/location.html

      

    URN(Uniform Resource Name),同一资源名称。URN 是作为特定内容的唯一名称使用的,与目前的资源所在地无关。使用这些与位置无关的URN,就可以将资源四处搬移。通过URN,还可以用同一个名字通过多种网络访问协议来访问资源。

    常见的,老司机们在magnet的格式中:

    magnet:?xt=urn:btih:23333333
    ----------------------------
    下划线标注了该资源的URN

      

    URI(Uniform Resource Indentifier),统一资源标识符。用于标识在世界范围内某一唯一的互联网资源字符串。通过这个字符串规则,我可以清楚地认知到这个网络资源。具体怎么标识?可以用资源的名称(Name)、定位(Location)来标识,或者以上两者都有,还有可能是其他的方法。

    比如在web中,所有的文件都由“ftp:xxxxx”定义,每个文件都有唯一的“ftp:xxxxx”,那么这个“ftp:xxxxx”就是一个URI

    已知具体的两种方法URL和URN都是URI的实现:

    • URL:通过资源的位置信息(Location)字符串(http://www.jaykoo.com:80/my/url/location.html),来标识一个资源
    • URN:通过资源的名字信息(Name)字符串(urn:btih:23333333)标识

    可以说,URL和URN都是URI的子集,因此,一切URL和URN都是URI。


    URL语法

    格式

    <scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>

    组件

    组件 描述 默认值
    方案(scheme)

    访问服务器以获取资源时要使用哪些协议,常见如:

    http、https、ftp等

    无  
    用户(user)

    很多服务器都要求输入用户名和密码才会允许用户访问数据,如FTP服务器。

    例子:jaykoo是用户名、mypasswd是密码

    ftp://jaykoo:mypasswd@ftp.prep.edu/pub/name

    匿名
    密码(password) 如上,用户名与密码之间,用冒号(:)分隔 <E-mail 地址>
    主机(host)

    服务器主机名或IP地址。

    主机名:www.jaykoo.com

    IP:123.45.67.89

    端口(port)

    资源宿主服务器正在监听的端口号,通过特定端口号访问特定资源

    (默认情况下http 80 ; https 443 ;也可以单独指定)

    每个方案特有
    路径(path) 资源位于服务器的位置,用(/)分隔
    参数(params)

    负责解析URL的应用程序有时候需要通过参数来访问资源,否则光通过协议、主机、端口这些信息可能不能访问到资源,甚至访问错误的资源。参数由(;key1=value1;key2=value2)设定。

    同一URL下不同的路径段中可以分别配置上参数,如:

    http://www.jaykoo.com:80/my;type1=a;type2=b/home;type=safe/index.html;id=666

    其路径 —— /my/home/index.html 下不同路径段分别配置了参数。

    查询(query)

    很多资源,比如数据库服务、搜索引擎,都可以通过提问题或进行查询来缩小请求资源的范围

    具体格式(?key1=value1&key2=value2)

    http://www.jaykoo.com/index.html?name=jay&item=233

    片段(frag) #代表网页中的一个位置,其右面的字符就是该位置的标识符(一般情况下,锚链接会用到)

     一些常用Web协议(待扩充)

    http

    默认端口:80

    格式:

      http://<host>:<port>/<path>?<query>#<frag>

      (路径<path>中可以传参<params>(;key=value),https同)

    https

    与http唯一区别就是用了SSL(为HTTP连接提供了端对端的加密机制)。其余语法基本相同。

    默认端口:443

    格式:

      https://<host>:<port>/<path>?<query>#<frag>

    ftp

    文件传输协议。用来在FTP服务器上传或下载文件,并获取服务器上的目录结构内容列表。

    默认端口:标准命令TCP端口号为21,Port方式数据端口为20

    基本格式:

      ftp://<user>:<password>@<host>:<port>/<path>;<params>

    rtsp,rtspu

     通过实时流传输协议(Real Time Streaming Protocol)解析的音、视频媒体资源的标识符。rtspu的u指的是用的UDP协议获取资源。

    rtsp默认端口:554

    基本格式:

      rtsp://<user>:<password>@<host>:<port>/<path>

      rtspu://<user>:<password>@<host>:<port>/<path>

    file

    主机上可以直接访问的文件。

    基本格式:

      file://<host>/<path>

    以上主机名可以省略,默认访问本机文件

    telnet

    用于访问交互式业务。

    默认端口:23

    基本格式:

      telnet://<user>:<password>@<host>:<port>/

  • 相关阅读:
    SpringBoot(一)_快速实战搭建项目
    maven入门 (二)_私服安装与上传下载
    maven入门(一)
    Ionic 2 开发(一)_安装与目录结构
    echarts添加点击事件
    win下 git gui 使用教程
    安装centos6.3
    PAT甲级题分类汇编——图
    PAT甲级题分类汇编——树
    PAT甲级题分类汇编——理论
  • 原文地址:https://www.cnblogs.com/jaykoo/p/9989769.html
Copyright © 2011-2022 走看看