zoukankan      html  css  js  c++  java
  • URI、URL、URN

    URI:统一资源标识符(Uniform Resource Identifier)。是一个通用的概念。

    URL:统一资源定位符(Uniform Resource Locator)。表示资源在服务器中的实际地址。

    URN:统一资源名(Uniform Resource Name)。为对象提供一个稳定的名称。

    URI

    一类通用的资源标识符。由两个主要子集 URL 和 URN 构成。

    URL

     URL提供了统一的命名方式:“方案://服务器位置/路径” (如 http://www.baidu.com/index.html):

      方案(sheme):告知 Web 客户端访问资源所使用的协议,如:http;

      服务器位置(host):告知 Web 客户端资源位于何处,如:www.baidu.com;

      路径(path):所请求的资源位于服务器上的特定位置,如:/index.html。

    URL 定义了用户所需特定资源的位置以及获取方式,可以指向因特网上的任意资源。

    URL 语法

    URL  语法会随着方案(如 HTTP、FTP、SMTP)的不同而有所不同,但大部分 URL 都遵循通用的 URL 语法。

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

      方案(sheme):告诉解析 URL 的应用程序,使用什么协议;方案名是大小写无关的。

      主机(host):标识因特网上能够访问资源的宿主机器。可以用主机名或者 UP 地址表示。

      端口(port):标识服务器正在监听的网络端口。常用默认端口,请参考:http://www.wusiwei.com/?post=109

      用户名(user)和密码(password):很多服务器会要求输入用户名和密码才允许用户访问数据,如 FTP,若用户没有提供,则会插入一个默认的用户名和密码。如 ftp://anonymous:my_passwd@ftp.prep.ai.mlt.edu/pub/gnu。

      路径(path):说明资源位于服务器的特定地方。

      参数(params):为了正确地与服务器进行交互,向负责解析 URL 的应用程序提供所需的协议参数。名值对列表。HTTP URL 的路径组件可以分成若干路径段,每段都可以有自己的参数,例如:http://www.joes-haniware.com/hammers;sale=false/index.html;graphocs=true

      字符串(query):通过提问题或进行查询缩小所请求资源类型范围。查询字符串通常为一系列的“名/值”对的形式出现,名值对之间用字符“&”分隔。

      片段(frag):引用部分资源或资源的一个片段。HTTP 服务器通常只处理整个对象,也就是说改变片段值,不会向 HTTP 服务器发送请求,因此 URL 片段仅有客户端使用。

      

    URN

    URL 是一种强有力的工具,但 URL 并不完美,它们表示的是实际的地址,而不是准确的名字,这意味着当资源被移走了,URL 就无法对对象进行定位。如果有了对象的准确名称,不论其位于何处都可以找到这个对象。URN 就有为对象提供一个稳定的名称的。

      PURL:永久统一资源定位符(Persistent Uniform Resource Locators)。是用 URL 来实现 URN 功能的例子。基本思想是,在搜索资源的过程中引入另一个中间层,通过一个中间资源定位符(resource locator)服务器对资源的实际 URL 进行等级和跟踪。客户端向定位符请求一个永久 URL,定位符可以以一个资源作为响应,将客户端重定向到资源当前实际的 URL 上去。

    由于从 URL 转换成 URN 是一项巨大的工程,标准化工作的进程很缓慢,URN 现在都没有投入使用。

    参考:HTTP 权威指南

  • 相关阅读:
    ETL概念集锦
    想要快速泡大麦茶的4种方法
    Suggest blowing out the dust
    Pessimistic and optimistic locking
    操作系统简介
    初学计算机基础
    JavaScript筑基篇(三)->JS原型和原型链的理解
    网页瀑布流效果实现的几种方式
    javascript的基本语法、数据结构
    javascript如何列出全局对象的非原生属性。
  • 原文地址:https://www.cnblogs.com/xxhuan/p/6075232.html
Copyright © 2011-2022 走看看