URL(统一资源定位)是网络上使用的资源定位的方案,它是URI(由URL和URN组成)的子集。

URL的通用格式

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

最重要的3个部分是:方案<scheme>、主机<host>和路径<path>

下表是对格式的各个部分的简单描述:

通用URL组件
组件 描述
方案<scheme> 访问服务器以获取资源时使用的协议
用户<user> 某些方案访问资源时需要的用户名
密码<password> 用户名后可能要包含的密码,中间由:(冒号)分隔
主机<host> 资源宿主服务器的主机名或点分IP地址
端口<port> 资源宿主服务器正在监听的端口号
路径<path>

服务器上资源的本地名,由一个/(斜杠)将其与前面的URL组件

分隔开来.路径组件的语法是与服务器和方案有关的

参数<params>

某些方案会用这个组件来指定输入参数.参数为名/值对。URL中

可以包含多个参数字段,他们相互之间以及与路径的其余部分之间

用;(分号)分隔。组成路径的每个段都可以有自己的参数

查询<query>

某些方案会用这个组件传递参数以激活应用程序.查询组件的内容

没有通用格式。用字符?(问号)将其与URL的其余部分分隔开来

片段<fraq>

一小片或一部分资源的名字。引用对象时,不会讲fraq字段传送给

服务器,这个字段是在客户端内部使用的。通过字符#(井号)将

其与URL的其余部分分隔开来

常见方案的格式

常见的方案格式
方案 描述
http

超文本传输协议方案。

基本格式:

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

https

方案https与方案http是一对。唯一的区别在于方案https使用了网景的SSL.

SSL为http链接提供了端到端的加密机制.

基本格式:

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

mailto

Mailto URL指向的是E-mail地址。

基本格式:

mailto:<RFC-822-addr-spec>

示例:

mailto:joe@joes-hardware.com

ftp

文件传输协议.URL可以用来从FTP服务器上下载或向其上传文件,并获取FTP

服务器上的目录结构内容的列表。

基本格式:

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

rtsp

rtspu

通过实时流传输协议解析的音/视频媒体资源的标识符。

方案rtspu中的u表示它是使用UDP协议来获取资源的

基本格式:

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

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

file

表示一台指定主机上可直接访问的文件。如果省略了主机名,就默认为正在使

用URL的本地主机.

基本格式:

file://<host>/<path>

news

根据RFC1036的定义,方案news用来访问一些特定的文章或新闻组.它有一

个很独特的性质:news URL自身包含的信息不足以对资源进行定位.

news URL中缺乏到何处获取资源的信息----没有提供主机名或机器名称.从

用户那里获取此类信息是解释程序的工作。比如,在网景浏览器的“选项”菜

单中,就可以指定自己的NNTP(news)服务器。这样,浏览器有了news URL

的时候就知道应该使用哪个服务器了。

新闻资源可以从多台服务器中获得.它们被称为位置无关的.因为对它们的访

问不依赖于任何一个源服务器。

news URL中保留了字符@,用来区分news URL时指向新闻组还是指向特定

新闻文章的news URL。

基本格式:

news:<newsgroup>

news:<news-article-id>

telnet

方案telnet用于访问交互式业务.它表示的并不是对象自身,而是可通过

telnet协议访问的交互式应用程序.

基本格式:

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

最后这里说下URL、URN以及URI的关系:

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

  URN:统一资源名。它是作为特定内容的唯一名称使用的,与目前的资源所在地无关。与目前的资源所在地无关。使用这些与位置无关的URN,就可以将资源四处搬移。通过

     URN,还可以用同一个名字通过多种网络访问协议来访问资源

  URI:统一资源标识符。它是URL与URN的合集。

  目前都是在使用URL。URN由于URL的满足现在社会的绝大多数需求,同时现状对URN的支持还很不完善,因此URN只是处在实验室阶段,真正要普及,需要社会的强烈需求。

URL篇之URL的更多相关文章

  1. mvc之URL篇

    一.根据路由系统生成友好的URL ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName); 会根据当前的路 ...

  2. URL篇之相对URL

    URL有两种方式:绝对的和相对的. 绝对URL中包含有访问资源所需的全部信息,是访问网络资源必须的. 相对URL是不完整的,要从相对URL中获取访问资源所需的全部信息,就必须相对于另一个被称为其基础( ...

  3. 第五篇Django URL name 详解

    Django URL name 详解 利用Django开发网站,可以设计出非常优美的url规则,如果url的匹配规则(包含正则表达式)组织得比较好,view的结构就会比较清晰,比较容易维护. Djan ...

  4. PHP 404页面/如何设置404页面/URL静态化/URL伪静态化

    php中如何设置404页面及其他错误页面 首先在项目根目录下新建文件,文件名为" .htaccess " 在该文件中写入一下配置项: ErrorDocument 404 /404. ...

  5. Url Rewrite 再说Url 重写

    前几天看到园子里一篇关于 Url 重写的文章<获取ISAPI_Rewrite重写后的URL>, URL-Rewrite 这项技术早已不是一项新技术了,这个话题也已经被很多人讨论过多次.搜索 ...

  6. URL重写与URL路由

    要介绍这两个内容,必须要从ASP.NET管线说起. ASP.NET管线 管线(Pipeline)这个词形象地说明了每个Asp.net请求的处理过程: 请求是在一个管道中,要经过一系列的过程点,这些过程 ...

  7. 【Web】URI和URL,及URL的编码

    URI和URL是什么,以及他们的区别 URL,Uniform Resource Locator,统一资源定位符.用于表示网络上服务器的资源所在位置,比如我们输入浏览器的地址. URI,Uniform ...

  8. URL参数为url,获取不到部分参数问题

    url1中的参数含有url2,在页面上获取url时发现url后面跟的参数获取不到,其实是浏览器把url2中&后的参数作为url1的参数来处理了. 如:http://www.ilcng.com/ ...

  9. php 对url 操作类:url拼接、get获取页面、post获取页面(带传参)

    /* * @brief url封装类,将常用的url请求操作封装在一起 * */ class URL{ private $error; public function __construct(){ $ ...

随机推荐

  1. 第05章-构建Spring Web应用程序

    1. Spring MVC起步 1.1 跟踪Spring MVC的请求 前端控制器DispatcherServlet 请求旅程的第一站是Spring的DispatcherServlet.与大多数基于J ...

  2. 编写高质量代码改善C#程序的157个建议——建议50:在Dispose模式中应区别对待托管资源和非托管资源

    建议50:在Dispose模式中应区别对待托管资源和非托管资源 真正资源释放代码的那个虚方法是带一个bool参数的,带这个参数,是因为我们在资源释放时要区别对待托管资源和非托管资源. 提供给调用者调用 ...

  3. C#开源网络通信库PESocket的使用

    PESocket PESocket开源项目GitHub地址:点击跳转 基于C#语言实现的高效便捷网络库.支持集成到Unity当中使用. 不用过多了解网络通信内部原理,只需几行简单的代码,便能简捷快速开 ...

  4. 转:Linux下同时启动两个Tomcat进行设置

    转: Linux下同时启动两个Tomcat进行设置 解压tar.gz:tar -zxvf apache-tomcat-6.0.41.tar.gz 至相应的路径下,可解压至两个不同的路径或者相同的路径下 ...

  5. java中int转String 固定位数 不足补零

    转载自:http://ych0108.iteye.com/blog/2174134 String.format("%010d", 25); //25为int型 0代表前面要补的字符 ...

  6. java关键字(更新)

    1.final: ①final修饰类:该类不能被继承: ②final修饰方法:该方法不能被子类重写: ③final修饰变量:一.修饰基本数据类型变量,必须初始化,且值不能被改变:二.修饰引用数据类型变 ...

  7. Codeforces Round #551 (Div. 2)B. Serval and Toy Bricks

    B. Serval and Toy Bricks time limit per test 1 second memory limit per test 256 megabytes input stan ...

  8. Ping命令简单报错介绍

    了解ABC类IP地址:网络.主机.子网.广播. ---------------------------- 学会ping: ping www.baidu.com 网络检测:ping某一主机可以正常启动! ...

  9. Tomcat8.5安装教程

    如果第一次安装的用户请耐心阅读哈安装方法1.下载完成后开始安装,第一次安装的用户建议直接点击“next”不选择插件2.可以自行设置账户名以及密码3.非常重要的一步!!!!!!!!!设置jdk安装目录, ...

  10. 1. C/C++项目一

    需求: 使用C语言封装string 字符串,实现字符串的增.删.改.查等API函数. 要求: 不能使用 string 库函数,所有库函数必须自己手动实现. [项目实现] myString.h 代码如下 ...