HTTP权威指南02——URL与资源

1. URI是一类通用的资源标识符,URL是URI的一个子集。URI是一个通用的概念,由两个主要的子集URL和URN构成,URL是通过资源的位置来标识资源的,而URN则是通过名字来识别资源的,与它们当前所处位置无关。

2. HTTP规范将更通用的概念URI作为其资源标识符,但实际上,HTTP应用程序处理的知识URI的URL子集

3. URL三部分:方案、服务器位置、路径。URL可以通过HTTP之外的其他协议来访问资源,它们可以指向因特网上的任意资源,比如:mailto、FTP、rtps等

4. 大多数URL方案的URL语法都建立在这个由9部分构成的通用格式上:://:@:port/;?#,其中最重要的三部分是:方案、主机、路径。

1)ftp://joe:[email protected]/sales_info.txt

2)ftp://prep.ai.mit.edu/pub/gnu;type=d

3)http://www.joes-hardware.com/hammers;sale=false/index.html;graphics=true(两个路径段,hammers和index,hammers路径段有参数sale,index.html路径段有参数graphics)

4)http://www.joes-hardware.com/inventory-check.cgi?item=12731&color=blue(查询编号为12731,颜色为blue的条目是否有货)

组件

描述

默认值

方案

访问服务器以获取资源时要使用哪种协议

用户

某些方案访问资源时需要的用户名

匿名

密码

用户名后面可能要包含的密码,中间用冒号分隔

主机

资源宿主服务器的主机名或点分IP地址

端口

资源宿主服务器正在监听的端口号。很多方案都有默认端口号(HTTP的默认端口号为80)

每个方案特有

路径

服务器上资源的本地名,由一个斜杠将其与后面的URL组件分割开来。路径组件语法与服务器和方案有关

参数

某些方案用这个组件来指定参数。参数为名/值对,URL中可以包含多个参数字段,他们相互之间以及与路径的其余部分之间用分号分隔

查询

某些方案会用这个组件传递参数以激活应用程序,查询组件的内容没有通用格式,用字符?将其与URL的其余部分分隔开来,不同的查询之间使用&分隔

片段

一小片或一部分资源的名字。引用对象时,不会将frag字段传送给服务器,这个字段是在客户端内容使用的。通过字符#j将其与URL的其他部分分隔开来

5. 相对URL和自动扩展URL(主机名扩展、历史扩展)

6. URL中使用%作为转义标志

7. 常见方案格式

方案

描述

http

超文本传输协议方案除了没有用户名和密码外,与通用的URL格式相符。如果省略了端口,就默认为80

https

使用了SSL,提供了端到端的加密机制,默认端口为443

mailto

指向Email地址,Email不指向任何可以直接访问的对象

ftp

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

rtsp、rtspu

可以通过实时流传输协议解析的音/视频媒体资源的标识符,u标识使用UDP协议来获取资源

file

表示一台指定主机上可直接访问的文件

news

用来访问一些特定的文章或新闻组,news URL自身包含的信息不足以对资源进行定位

telnet

用户交互式业务,表示的并不是对象自身,而是可通过telnet协议访问的交互式应用程序

 


你可能感兴趣的:(HTTP权威指南)