您的位置:首页 > 其它

Url 初步介绍

2017-07-06 20:07 162 查看


Url 初步介绍


基础背景:


URI:

uri(Uniform Resource Identifier) 是统一资源标识符,就像互联网上的地址一样,在世界范围内唯一标识并定位资源


URL:

url是uri最常见的形式,URL描述了一台特定服务器上某资源的特定位置。


大部分url都遵循一种标准格式:

1、第一部分被称为方案,说明了访问资源所使用的协议类型,例如我们常常看到的 http://、https://

2、第二部分给出了服务器的网络地址,例如 jiayu.lu,或者是127.0.0.1

3、其余部分指定了web服务器上的某个资源


目前,绝大部分uri都是url的形式

其实,url不仅可用在http协议,也可以通过ftp、smtp 等访问,它只是起一个标识资源位置的作用


URL的语法:

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


但其实我们最常见的是:

<scheme>://<host>:<port>/<path>?<query>



各字段的含义:

scheme(方案) - 访问服务器以获取资源时所使用的协议
(例如:http/https/ftp/smtp/rstp 等)

user(用户) - 某些方案访问时需要带上用户名

password(密码) - 某些方案访问时需要带上密码

host(主机) - 服务器的主机名或IP地址
(例如:jiayu.lu/127.0.0.1 等)

port(端口) - 服务器正监听的端口号,若为空则使用默认端口,
(http的默认端口为80,https的默认端口为443)

path(路径) - 服务器上资源的本地名称,例如 index.html

params(参数) - 某些方案可能会使用这个字段来指定输入参数,
参数为 名/值 对,url可包含多个参数,它们相互之间用 ; 分隔

query(查询) - 某些方案会用这个字段传递参数,我们在http中常用它传递GET参数

frag(片段) - 一小片资源的名字,但这个字段是在客户端(如浏览器)内部使用的,
在访问时,客户端不会将该字段传给服务器,服务器也不处理该字段。


例如:http://jiayu.lu/tags/Mysql?q=123 ,这里的对应关系如下:

<scheme> - http:
<host> - jiayu.lu
<port> - 80
<path> - tags/Mysql
<query> - q=123



绝对url 和相对url:


绝对url:

所谓绝对url,就是指例如 http://jiayu.lu/mysq
b156
l?q=123 这类url,客户端可以拿该url直接定位到资源所在


相对url:

所谓相对url,就是指例如 ./html?q=456 ,客户端不能直接拿该url去访问资源,而是需要将其转化为绝对url进行访问。

所谓转化,其实就是相对于其基础url进行解析

所谓基础url,其实就是这个相对url所在文档的路径,


而我们在构建页面时,也可能有以下几种写法:


A:

<a href = "http://jiayu.lu/mysql/html.html">mysql</a>


B:

<a href = "/mysql/html.html">mysql</a>


C:

<a href = "html.html">mysql</a>


例如,我们在http://jiayu.lu/test.html 这个导航页面里包含了以上三个超链接,那么结果会如何呢?

A - 跳转到 http://jiayu.lu/mysql/html.html B - 跳转到 http://jiayu.lu/mysql/html.html C - 跳转到 http://jiayu.lu/html.html


如果我们的导航页面在http://www.so.com/test.html 呢?

A - 跳转到 http://jiayu.lu/mysql/html.html B - 跳转到 http://www.so.com/mysql/html.html C - 跳转到 http://www.so.com/html.html[/code] 
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: