URL篇之URL
URL(统一资源定位)是网络上使用的资源定位的方案,它是URI(由URL和URN组成)的子集。
URL的通用格式
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<fraq>
最重要的3个部分是:方案<scheme>、主机<host>和路径<path>
下表是对格式的各个部分的简单描述:
| 组件 | 描述 |
| 方案<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的更多相关文章
- mvc之URL篇
一.根据路由系统生成友好的URL ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName); 会根据当前的路 ...
- URL篇之相对URL
URL有两种方式:绝对的和相对的. 绝对URL中包含有访问资源所需的全部信息,是访问网络资源必须的. 相对URL是不完整的,要从相对URL中获取访问资源所需的全部信息,就必须相对于另一个被称为其基础( ...
- 第五篇Django URL name 详解
Django URL name 详解 利用Django开发网站,可以设计出非常优美的url规则,如果url的匹配规则(包含正则表达式)组织得比较好,view的结构就会比较清晰,比较容易维护. Djan ...
- PHP 404页面/如何设置404页面/URL静态化/URL伪静态化
php中如何设置404页面及其他错误页面 首先在项目根目录下新建文件,文件名为" .htaccess " 在该文件中写入一下配置项: ErrorDocument 404 /404. ...
- Url Rewrite 再说Url 重写
前几天看到园子里一篇关于 Url 重写的文章<获取ISAPI_Rewrite重写后的URL>, URL-Rewrite 这项技术早已不是一项新技术了,这个话题也已经被很多人讨论过多次.搜索 ...
- URL重写与URL路由
要介绍这两个内容,必须要从ASP.NET管线说起. ASP.NET管线 管线(Pipeline)这个词形象地说明了每个Asp.net请求的处理过程: 请求是在一个管道中,要经过一系列的过程点,这些过程 ...
- 【Web】URI和URL,及URL的编码
URI和URL是什么,以及他们的区别 URL,Uniform Resource Locator,统一资源定位符.用于表示网络上服务器的资源所在位置,比如我们输入浏览器的地址. URI,Uniform ...
- URL参数为url,获取不到部分参数问题
url1中的参数含有url2,在页面上获取url时发现url后面跟的参数获取不到,其实是浏览器把url2中&后的参数作为url1的参数来处理了. 如:http://www.ilcng.com/ ...
- php 对url 操作类:url拼接、get获取页面、post获取页面(带传参)
/* * @brief url封装类,将常用的url请求操作封装在一起 * */ class URL{ private $error; public function __construct(){ $ ...
随机推荐
- 生日蜡烛——第七届蓝桥杯C语言B组(省赛)第二题
原创 生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛. 现在算起来,他一共吹熄了236根蜡烛. 请问,他从多少岁开始过生日party的? 请填写他开始过生日 ...
- [转]windows7远程桌面连接失败:发生身份验证错误。要求的函数不受支持
转至:https://jingyan.baidu.com/article/d169e18604ca86436611d821.html 系统升级后出现远程连接报错,“发生身份验证错误.要求的函数不受支持 ...
- 注册 asp.net IIS
C:\Windows\Microsoft.NET\Framework64\v4.0.30319/aspnet_regiis.exe -i
- [转]history.back(-1)和history.go(-1)的区别
目录: 1.这个方法的用途 2.两个方法的区别 3.总结 概述: H5页面做多了,自然就会做到页面上的返回功能,返回功能大致有两种:history.back(-1)和history.go(-1),今天 ...
- 数组Byte [] 和 string 相互转换
using System; using System.Collections.Generic; using System.Text; namespace NET.MST.Fourth.StringBy ...
- mvc - codefirst 数据迁移
from :http://blog.csdn.net/xiaoyiyz/article/details/41485325
- CENTOS7 使用 Nginx + Uwsgi 部署 Django 项目
写在前面的话 最近总是见到有新学 Django 的朋友在部署自己的项目到 Linux 上面的时候运行不起来,所以就动手写了这篇博客. 对于不会搭建 Python 3 环境的朋友可以参考前面的博客[CE ...
- 20165219 《Java程序设计》实验三(敏捷开发与XP实践)实验报告
20165219 <Java程序设计>实验三(敏捷开发与XP实践)实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:王彦博 学号:20165219 成绩: 指导教 ...
- jmeter在linux上运行
若需在linux操作系统上运行jmeter,则需要以命令行的形式运行. 前提条件:linux环境下配置好jdk.jmeter的环境变量等. 1.首先在Windows的图形化界面做好脚本,设置好并发用户 ...
- 深度剖析MQTT协议的整个通信流程
http://www.elecfans.com/d/587483.html MQTT,目前物联网的最主要的协议,基本所有收费的云平台都是基于MQTT协议,比如机智云,和所有的开放云平台比如中国移动的o ...