重新认识一下 URL
2025-01-16 08:59 阅读(138)

最近在做短链服务,发现 URL 还挺有趣的,简单梳理一下。


URL 组成

scheme: [ // [ userinfo@ ] host [ :port ] ] [ / ] [ path ] [ ?query ] [#fragment ]

www.welcometothejungle.com:443/en/jobs?que…

https://www.zuocode.com

组成情况:


组成部分说明
协议(Scheme)指定获取资源时使用的协议。如 http、https、ftp 等。它通常以冒号和两个斜杠(://)跟资源的其余部分隔开。https
子域名(Subdomain) 可选,用于指定特定的子域名。www
域名(Domain Name)提供资源的服务器的主机名或IP地址。 welcometothejungle.com
端口号(Port)
可选,指定服务器上的端口号,未指定时使用默认端口(HTTP的80端口,HTTPS的443端口)。 443
路径(Path)指定资源在服务器上的路径。 /en/jobs
查询字符串(Query String)可选,传递额外的参数给服务器,参数以key=value形式出现,多个参数用&分隔。query=Developer&page=1
片段标识符(Fragment Identifier)可选,用于指定页面中的一个特定部分,对应HTML文档中ID相同的元素。 fra

协议头

常见协议 代表类型 示例
file访问本地计算机的资源 file:///Users/uzong/xxx
ftp访问共享主机的文件资源 ftp://ftp.baidu.com/movies
http超文本传输协议, 访问远程网络资源image.baidu.com/channel/wal…
https安全的ssl加密传输协议,访问远程网络资源 image.baidu.com/channel
mailto访问电子邮件地址 mailto:null@qq.com

PathParam 和 QueryParam 参数

一个是路径上的参数,一个是动态查询参数。


Query 参数: 适用于动态的筛选、排序、分页等场景。

Path 参数: 适用于明确标识特定资源的情况,例如获取某个产品的信息或删除某个用户。


Query 参数的灵活性较高,用户可以自由添加和调整参数。而 Path 参数则通常在 URL 结构中固定,表示特定的资源。

Path 参数使得 URL 更具结构化,便于识别和理解资源的层级关系。而 Query 参数则在 URL 末尾以查询字符串的形式出现,适合用于附加的过滤和排序条件。

URL 和 URI 的区别

URI(统一资源标识符)


定义:URI 是一个字符串,它提供了一种方式来标识互联网上的资源。资源可以是任何东西,比如文档、图片、服务等。

组成:URI 可以包括 URL 和 URN(Uniform Resource Name,统一资源名称)两种形式。

目的:URI 的主要目的是标识资源,但不一定能定位资源。

例子:urn:isbn:0-486-27557-4(这是一个 URN,用于标识特定的书籍)。


URL(统一资源定位符)


定义:URL 是 URI 的一种,它不仅标识一个资源,还提供了如何定位这个资源的具体信息。

组成:URL 包括协议(如 http、https)、域名(或 IP 地址)、端口(可选)、路径(可选)、查询字符串(可选)和片段标识符(可选)。

目的:URL 的主要目的是定位资源,即它提供了访问资源的途径。


简而言之,URL 是 URI 的一个子集,它提供了一种具体的定位和访问资源的方式,而 URI 是一个更广泛的概念,包括了 URL 和 URN,用于标识资源


作者:uzong

链接:https://juejin.cn