URL是什么
本节讲解 URL 的一些基础知识,如果您已经对它非常熟悉,可以跳过本节,直接进行下一节的学习。
学习本节知识为下一节的内容打下铺垫,在 Django 中就是通过 URL 配置来实现页面访问的。无论用什么 URL 地址访问 Web 站点资源,都需要开发者对 URL 地址进行设计,所以学习本节知识是必需的!
本节对 URL 的基本语法进行了讲解。当然 URL 还有许多其它知识,比如,有些特殊的符号无法直接在 URL 中使用,那么这时候需要用该符号对应的 ASCII 编码值,格式为
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 是指网络传输协议,以下是经常用到的几个协议:- http,通过 HTTP 协议访问该资源,格式 http://;
- https,通过安全的 HTTPS 协议访问该资源, 格式 https://;
- file,资源是本地计算机上的文件,格式 file:///;
- ftp,通过 FTP访问资源,格式 FTP://。
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 代表特殊符号的编码值,有兴趣的可以自己了解一下,在本节不加赘述。