问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

URL 设计规范详解:从基础概念到实际应用

创作时间:
作者:
@小白创作中心

URL 设计规范详解:从基础概念到实际应用

引用
51CTO
1.
https://blog.51cto.com/u_16213676/13333676

URL(统一资源定位符)是我们在日常上网过程中经常接触到的概念,但你是否真正理解URL的结构和设计规范?本文将从URL与URI的关系出发,详细解析URL的基本格式,并通过一个具体的URL例子来说明各个组成部分的含义。

URL 与 URI的关系

URL:(Uniform/Universal Resource Locator 的缩写,统一资源定位符)。
URI:(Uniform Resource Identifier 的缩写,统一资源标识符)。

关系:
URI 属于父类,而 URL 属于 URI 的子类。URL 是 URI 的一个子集。

二者的区别在于,URI 表示请求服务器的路径,定义这么一个资源。而 URL 同时说明要如何访问这个资源(http://)。

URL的基本格式

通常而言,我们所熟悉的 URL 的常见定义格式为:

scheme://host[:port#]/path/.../[?query-string][#anchor]
  • scheme:我们很熟悉的http、https、ftp以及著名的ed2k,迅雷的thunder等。
  • host:HTTP服务器的IP地址或者域名
  • port#:HTTP服务器的默认端口是80,这种情况下端口号可以省略。如果使用了别的端口,必须指明,例如tomcat的默认端口是8080 http://localhost:8080/
  • path:访问资源的路径
  • query-string:发送给http服务器的数据
  • anchor:锚点定位

举个例子说明URL的各个组成部分

URL即我们日常用来访问网页的地址,互联网每个网页都有一个网络地址,下面是
一个完整URL例子:

http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#r_70732423

这个地址很长,比日常看到的baidu.com长很多,那么它表示什么意思呢?一个完整的URL包括:协议部分、域名部分、端口部分、虚拟目录部分、文件名部分、参数部分、锚部分

  1. 协议部分:该URL的协议部分为“http:”,这代表网页使用的是HTTP协议。在Internet中可以使用多种协议,如HTTP,FTP等等本例中使用的是HTTP协议。在”HTTP”后面的“//”为分隔符

  2. 域名部分:该URL的域名部分为“www.aspxfans.com”。一个URL中,也可以使用IP地址作为域名使用

  3. 端口部分:跟在域名后面的是端口,域名和端口之间使用“:”作为分隔符。端口不是一个URL必须的部分,如果省略端口部分,将采用默认端口

  4. 虚拟目录部分:从域名后的第一个“/”开始到最后一个“/”为止,是虚拟目录部分。虚拟目录也不是一个URL必须的部分。本例中的虚拟目录是“/news/”

  5. 文件名部分:从域名后的最后一个“/”开始到“?”为止,是文件名部分,如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。本例中的文件名是“index.asp”。文件名部分也不是一个URL必须的部分,如果省略该部分,则使用默认的文件名

  6. 参数部分:从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。本例中的参数部分为“boardID=5&ID=24618&page=1”。参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。

  7. 锚部分:HTTP请求不包括锚部分,从“#”开始到最后,都是锚部分。本例中的锚部分是“r_70732423“。锚部分也不是一个URL必须的部分。锚点作用:打开用户页面时滚动到该锚点位置。如:一个html页面中有一段代码,该url的hash为r_70732423

本文原文来自51CTO,文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号