注:1. 仅从http(Hypertext Transfer Portocol)角度阐述,不涉及语言层面的类库。

2. 以下内容均参考《Http权威指南》一书。

一、万维网构成

       Web内容都是存储在Web服务器上的。Web服务器所使用的是HTTP 协议,因此经常会被称为HTTP服务器。这些HTTP 服务器存储了因特网中的数据,如果HTTP 客户端发出请求的话,它们会提供数据。客户端向服务器发送HTTP 请求,服务器会在HTTP 响应中回送所请求的数据,参看下图:

HTTP请求向Web服务器请求资源,也就是说Web服务器是Web 资源(Web resource)的宿主。那么Web资源的种类自然繁多,如:文本文件、Word文件、音频、视频等等静态资源以及许多动态资源。

那么接下来就要引出我们的问题了,上面说了Web客户端向Web服务器请求资源,请求的时候总要写明,去请求哪台Web服务器以及Web服务器上面的资源地址。

二、URI、URL、URN

       每个Web 服务器资源都有一个名字,这样客户端就可以说明它们感兴趣的资源是什么了。服务器资源名被称为统一资源标识符(Uniform Resource Identifier,URI)。URI 就像因特网上的邮政地址一样,在世界范围内唯一标识并定位信息资源。
 
     上图显示了URI 是怎样指示HTTP 协议去访问Joe 商店服务器上的图片资源的。给定了URI,HTTP 就可以解析出对象。URI 有两种形式,分别称为URL 和URN。 
 

统一资源定位符(URL)是资源标识符最常见的形式。URL 描述了一台特定服务器上某资源的特定位置。它们可以明确说明如何从一个精确、固定的位置获取资源。

大部分URL 都遵循一种标准格式,这种格式包含三个部分。

  1. URL 的第一部分被称为方案(scheme),说明了访问资源所使用的协议类型。这部分通常就是HTTP 协议(http://)。
  2. 第二部分给出了服务器的因特网地址(比如,www.joes-hardware.com)。
  3. 其余部分指定了Web 服务器上的某个资源(比如,/specials/saw-blade.gif)。

     现在,几乎所有的URI 都是URL。

URI 的第二种形式就是统一资源名(URN)。URN 是作为特定内容的唯一名称使用的,与目前的资源所在地无关。使用这些与位置无关的URN,就可以将资源四处搬移。通过URN,还可以用同一个名字通过多种网络访问协议来访问资源。比如,不论因特网标准文档RFC 2141 位于何处(甚至可以将其复制到多个地方),都可以用下列URN 来命名它:    urn:ietf:rfc:2141
         URN 仍然处于试验阶段,还未大范围使用。为了更有效地工作,URN需要一个支撑架构来解析资源的位置。

URI、URL、URN介绍的更多相关文章

  1. 关于URI URL URN

    刚琢磨.整理了关于escape.encodeURIComponent.encodeURI的知识.突然又对URI有点模糊了,遂整理了以下资源 : 资源一: URL,URI 和URN 的举例理解 资源二: ...

  2. uri,url.urn

    uri:Web上可用的每种资源 - HTML文档.图像.视频片段.程序等 - 由一个通过通用资源标志符(Universal Resource Identifier, 简称"URI" ...

  3. Http权威指南笔记(一) URI URL URN 关系

    定义 URI:统一资源标识符(Uniform Resource Indentifier)用来标识服务器上的资源. URL:统一资源定位符(Uniform Resouce Locator)是资源标识符最 ...

  4. URI/URL/URN的联系和区别

    下面是我整理的一些关于他们的描述. URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源. 而URL是uniform resource locato ...

  5. URI URL URN 关系

    我们一起来看下面这个虚构的例子.这是一个URI: http://bitpoetry.io/posts/hello.html#intro 我们开始分析 http:// 是定义如何访问资源的方式.另外 b ...

  6. URI URL URN的区别

    一:什么是URI,URL,URN ? URI:Uniform Resource Identifier,统一资源标识符,是一个用于表示互联网上资源名称的字符串 格式:http://www.xxx.com ...

  7. URI/URL/URN都是什么

    URI : Uniform Resource Identifier,统一资源标志符 URL : Universal Resource Locator,统一资源定位符 URN : Universal R ...

  8. URI, URL, and URN

    URI: uniform resource identifier,统一资源标识符,用来唯一的标识一个资源. URL: uniform resource locator,统一资源定位器,它是一种具体的U ...

  9. URI与URN与URL详解

    当没有URI时 什么是URI和URN和URL URI详解 Uniform Resource Identifier 统一资源标识符 URI的组成 案例: https://tools.ietf.org/h ...

  10. URL与URI与URN的区别与联系

    1.什么是URL? 统一资源定位符(或称统一资源定位器/定位地址.URL地址等[1],英语:Uniform Resource Locator,常缩写为URL),有时也被俗称为网页地址(网址).如同在网 ...

随机推荐

  1. Android基于mAppWidget实现手绘地图(三)--环境搭建

    首先,你在Eclispe开发环境中新建一个项目:然后,可以通过Eclispe项目管理工具把这个项目集成到你的app项目中.下面手册会手把手教你如何正确创建一个地图对象. 第一: 新建一个新的Anroi ...

  2. 在Android中实现service动态更新UI界面

    之前曾介绍过Android的UI设计与后台线程交互,据Android API的介绍,service一般是在后台运行的,没有界面的.那么如何实现service动态更新UI界面呢?案例:通过service ...

  3. Flexbox制作CSS布局实现水平垂直居中

    Flexbox实现一个div元素在body页面中水平垂直居中: <!DOCTYPE html><html lang="en"><head>  & ...

  4. ListView:The content of the adapter has changed but ListView did not receive a notification终极解决方法

    使用ListView时遇到如下的异常信息: 10-26 18:30:45.085: E/AndroidRuntime(7323): java.lang.IllegalStateException: T ...

  5. QT学习笔记2

    初探信号槽 代码如下: QPushButton *button=new QPushButton("quit"); QObject::connect(button,SIGNAL(cl ...

  6. flexbox简介

    flexbox简介 什么是flexbox flexbox是一种新的布局方式,这种布局方式是2009年W3C提出的方案.它可以简便,完整,完成页面的布局.目前,它已经得到所有浏览器的支持. 但是flex ...

  7. jQuery源码解读-事件分析

    最原始的事件注册 addEventListener方法大家应该都很熟悉,它是Html元素注册事件最原始的方法.先看下addEventListener方法签名: element.addEventList ...

  8. silverlight制作虚线的边框

    <Grid><Grid HorizontalAlignment="Center" VerticalAlignment="Center" x:N ...

  9. iOS 阶段学习第九天笔记(内存管理)

    iOS学习(C语言)知识点整理 一.内存管理 1)malloc , 用于申请内存; 结构void *malloc(size_t),需要引用头文件<stdlib.h>:在堆里面申请内存,si ...

  10. iOS阶段学习第六天笔记(数组)

                                                                                                  iOS学习( ...