先找问号,再找井号

下例为虚构教学地址。/articles/是路径,?topic=url&page=2是查询,#list是片段。常见查询用&分隔多组键值对,但查询的具体规则仍由目标站点解释。

https://example.com/articles/?topic=url&page=2#list
符号常见作用阅读提示
/分隔路径层级不要随意删去中间目录
?开始查询部分后面可能影响返回内容
&分隔常见键值参数复制时应保持完整
#开始片段部分常用于页内定位

末尾斜线并非永远可有可无

根地址https://example.com与https://example.com/会被浏览器按根路径处理。但/article与/article/是两个不同的路径写法,站点可以将它们统一跳转,也可以分别处理。不要把根地址的规律直接推广到所有页面。

末尾斜线还影响相对路径的解析:以/guide/为基准时,next.html进入/guide/next.html;以/guide为基准时,next.html会从其所在目录解析为/next.html。这个差别解释了某些手工改写后链接为何跑到别处。

删除参数前,先问它在保存什么

page=2可能保存页码,id=42可能保存文章标识,lang=zh可能保存语言。参数名称只能提供线索,不能替代站点说明。即使两个链接打开后标题相同,也可能有不同筛选、排序或选中项目。

例如转发一份搜索结果时,接收者通常需要相同关键词与筛选范围;转发某篇文章时,则更关心文章本身。先确定分享目的,再决定是否调整地址,可以避免删短以后失去原意。

  • 需要分享当前筛选结果:优先保留原参数,并说明筛选条件。
  • 只想分享文章:优先使用站点明确提供的永久链接或分享链接。
  • 希望去掉来源统计参数:仅在理解其用途、确认删后内容一致时再做;不确定就保留。

片段与查询不要混为一谈

浏览器请求网页时不会把片段作为HTTP请求目标的一部分发给服务器;页面获得后,浏览器或页面脚本可按片段定位。删除#后的内容可能只是回到页首,也可能改变应用展示的位置,仍需结合页面判断。

如果分享的是“第二页的某一条目”,查询和片段都可能有意义。写上简短说明比强行缩短地址更有用。本站没有核实具体海角目标地址,所以不会提供可随意删改某个未知站点参数的结论。

资料与延伸阅读

以下资料用于说明通用网页地址概念;本站未核实具体的海角目标地址。