链接跟踪参数的简要科普

本文旨在简要科普链接中的跟踪参数。

摘要总结(TLDR)

一般来说,我们只需要保留必要的参数,其他的都可以删掉。对于一些短链接,则需要先访问一遍,得到原始链接,再进行处理。

如果不确定某个参数是否必要,可以尝试删除,如果能正常访问,那么就可以删掉。

名词解释

链接

一般链接是指地址栏显示的字符串,比如:

https://google.com/

参数

参数是指链接后面以?开头、可能&隔开的字符串,比如:

https://example.com/?user=zhangsan&lang=zh

其中,userlang是参数名,zhangsanzh是参数值。上述例子中传递了两个参数:

user = zhangsan
lang = zh

参数并不都是用于跟踪的,有些参数是用于访问目标资源的必要信息。

一般跟踪参数

例子:当使用某音乐 App 复制链接时,我们会得到以下链接:

https://music.***.com/song?id=26465043&userid=123456

观察可以发现,这个链接有两个参数:

id = 26465043
userid = 123456

思考一下可以发现,userid参数的值是用户的 ID,而id参数的值是歌曲的 ID。也就是说,userid参数是可能用于跟踪用户的。

那么,如何判断我们的想法是否准确呢?

打开浏览器,去掉userid参数,再次访问:

https://music.***.com/song?id=26465043

可以发现,依然可以正确访问到歌曲的页面。也就是说,userid参数确实是可有可无的。此时,放心删掉即可。

短链接

有时一些 App 在分享链接时,会使用短链接,比如:

https://***.tv/Iv5vKLV

虽然此时看不到有查询参数,但是用浏览器打开该链接,可以发现它会自动跳转到一个长链接(为方便阅读,在参数连接处做了换行):

https://www.********.com/video/BV1CN4y1y72X/?buvid=***&
from_spmid=tm.recommend.0.0&
is_story_h5=false&
mid=***&
p=1&
plat_id=116&
share_from=ugc&
share_medium=iphone_b&
share_plat=ios&
share_session_id=***&
share_source=COPY&
share_tag=s_i&
spmid=united.player-video-detail.0.0&
timestamp=***&
unique_k=Iv5sKLV&
up_id=***

可以发现,这个长链接中有很多参数,包括设备种类、平台等信息。只有字符串 BV1CN4y1y72X 才是必要的视频 ID 。其他参数都是无关的,为了避免造成不必要的跟踪,可以删掉。

扩展阅读

MDN: 什么是 URL?

添加新评论