首页 > Django

URL是什么

本节讲解 URL 的一些基础知识,如果您已经对它非常熟悉,可以跳过本节,直接进行下一节的学习。

1. 为什么了解URL

URL 即统一资源定位符,它是用来表示互联网上的某个资源地址,互联网上的每个文件都有一个唯一的 URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。URL 最初是由蒂姆·伯纳斯·李发明的,并使用它作为万维网的地址,现在它已经被万维网联盟编制为互联网标准 RFC1738。

学习本节知识为下一节的内容打下铺垫,在 Django 中就是通过 URL 配置来实现页面访问的。无论用什么 URL 地址访问 Web 站点资源,都需要开发者对 URL 地址进行设计,所以学习本节知识是必需的!

2. URL语法格式详解

URL 的语法格式为:

protocol://hostname[:port]/path[?query][#fragment]

请看下面的例子:

https://www.baidu.com/movie/movieshow?id=234&number=1314#name

我们对上述语法格式做简单说明:

1) protocol(协议)

protocol 是指网络传输协议,以下是经常用到的几个协议:

2) hostname(主机名)

是指存放资源的服务器的域名、主机名或 IP 地址。有时,在主机名前也可以包含连接到服务器所需的用户名和密码(格式:username:password@hostname)。

3) port(端口号)

port 是一个可选的整数,它的取值范围 是 0-65535。如果 port 被省略时就使用默认端口,各种传输协议都有默认的端口号,如 http 的默认端口为 80,https 的端口是 443。

4) path(路由地址)

由零个或多个/符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。路由地址决定了服务端如何处理这个请求。

5) query (查询)

?开始到#为止,它们之间的部分就是参数,又称搜索部分或者查询字符串。这个部分允许有多个参数,参数与参数之间用&作为分隔符。本例的参数部分为id=234&number=1314

6) fragment(信息片断)

它用于指定网络资源中的片断,例如一个网页中有多个名词解释,那么可使用 fragment 直接对它们定位。例子中的信息片段是#后的 name。#代表网页中的一个位置而 name 就是这个位置的标志符号,当浏览器读取到上述 URL 后,浏览器将直接展示该位置。

本节对 URL 的基本语法进行了讲解。当然 URL 还有许多其它知识,比如,有些特殊的符号无法直接在 URL 中使用,那么这时候需要用该符号对应的 ASCII 编码值,格式为%code,code 代表特殊符号的编码值,有兴趣的可以自己了解一下,在本节不加赘述。

推荐阅读