文章摘要
作者反对在网站URL中添加未经授权的查询字符串(如追踪参数),认为这是对用户的滥用。他决定全面禁止此类行为,只允许已知参数,并强调这是他的网站,有权自主决定规则。
文章总结
标题:我已禁止查询字符串 —— Chris Morgan
原文链接:https://chrismorgan.info/no-query-strings
发布日期:2026-05-08 • 标签:/web、/opinions、/meta=only
我厌恶人们在URL中添加追踪参数。
更厌恶别人在我的URL上添加追踪标记。
像这样的链接:https://chrismorgan.info/no-query-strings?ref=example.com —— 谁允许你们这么做了?
真想了解来源,我会查看Referer请求头;如果没有该信息,那必然有其合理原因。
你们这是在滥用用户信任。
还有更过分的UTM参数:https://chrismorgan.info/no-query-strings?utm_source=example... 听着!这些参数是供我使用的,不是给你们滥用的。
别碰我的URL。
因此我决定全面禁止:本网站拒绝一切未经授权的查询字符串。
目前本站完全不使用任何查询参数。 即便未来需要使用,也仅会允许经过认证的参数。 (过去曾用?t=...和?h=...作为样式表缓存标识,现已决定废弃这类请求)
好奇添加查询字符串会怎样?试试看
这是我的网站:规则由我制定。 你们的网站?随你们怎么折腾!
该功能通过Caddyfile配置实现
(注:保留了原文的核心观点和讽刺语气,精简了部分重复表述,将技术术语如"UTM parameters"保留原貌并添加中文说明,调整了部分语句结构使其更符合中文表达习惯)
评论总结
评论总结:
- 支持查询字符串的观点
- 认为查询字符串是URL标准的一部分,网站应正确处理(评论8) "query string is as much part of the URL API as the path is"
- 在单页应用中很有用,可以保存用户设置(评论11) "I have all of their settings saved automatically in the URL"
- 反对滥用查询字符串的观点
- 过长的查询字符串影响用户体验(评论4) "is annoying as shit and I need to literally apologize to people"
- 可能导致链接失效(评论7) "Query strings break unpredictably, and that alone is enough to ban them"
- 中立/平衡观点
- 网站有权制定自己的规则(评论15) "your site your rules"
- 应区分合理使用和滥用(评论3) "let's not throw away a perfectly good thing because tracking is evil"
- 技术讨论
- 关于HTTP 414状态码的幽默建议(评论14) "Another option to consider is '418 I'm a teapot'"
- 标准未明确定义查询字符串格式(评论8) "they don't actually have any definitions of format other than being percent encoded"
- 用户体验问题
- 用户很少主动报告问题(评论7) "never assume that you are aware of severe breakage"
- 企业可能不知情网站存在故障(评论7) "the bank might have no idea that some server config tweak broke their form links"