站内跳转加了参数或换了语言版本,来源信息带出去多少由什么决定
站内从一个页面跳到另一个、或切换语言版本时,请求会带上一段「我从哪来」的来源信息。带出去多少,不是随意的,而由引用策略决定。按协议,缺省是严格同源跨域策略:同源时带完整路径与查询串,跨源且安全级别不变时只带源,降级到更不安全的目的地时干脆不带。落到站内,多语言版本切换和伪静态改写后的路径,会改变统计里这段来源信息怎么被归并,口径要提前对齐。
默认策略是哪一档
如果站点没有显式指定引用策略,或者给的值无效,浏览器用的是严格同源跨域这一档(strict-origin-when-cross-origin)。它是缺省行为,不是一个需要额外开启的特性。理解这档策略,就能预测一次跳转里来源信息被截到哪一层:同站内看得全,跨站时收敛,遇到安全性下降的目的地直接不发。
三种场景各带什么
| 场景 | 带出去的来源信息 | 说明 |
|---|---|---|
| 同源跳转 | 源 + 路径 + 查询串 | 完整 URL,参数也在 |
| 跨源且安全级别不变(如 HTTPS→HTTPS) | 只带源 | 路径与查询串被去掉 |
| 降级到更不安全目的地(HTTPS→HTTP) | 不发送 | 干脆不带来源 |
关键差别在「查询串」这一项:同源时带全,跨源时只剩源。也就是说,跳转是否留在同一个源内、目的地协议是否安全,共同决定了参数还在不在。
站内两处会受影响的地方
第一处是多语言版本切换。多语言站点配置与切换让读者在同一站点不同语言版本间跳转,这类切换若留在同源内,来源信息会带上完整路径与查询串;若是整页翻译后指向另一套语言路径,统计里就会看到相邻语言版本之间明确的来源路径。反过来,若语言版本被拆到了不同子域,跨源一跳就只剩源,版本之间的来路在统计里变模糊。切换到底走同源路径还是跨子域,直接影响这段来源信息能被归并到什么粒度。
第二处是伪静态路径。伪静态规则支持自定义 URL,页面在系统里可能带着参数,对外却呈现成规整的路径。由于引用策略在同源时是按「当前这个 URL」带出路径与查询串的,改写后的伪静态路径决定了下游看到的是哪一段:同一条内容,参数式与伪静态式在统计里是两种来源形态。要做来源信息一致的统计口径,就得让改写规则和排序、统计归并的口径对齐——这也是伪静态这类 URL 规则既是 SEO 手段、又会影响来源统计的原因。
常见问题
问:不设引用策略时带多少来源信息? 答:走缺省的严格同源跨域策略,同源带全、跨源只带源、降级不发。
问:换语言版本会影响来源统计吗? 答:会。留在同源带完整路径,跨子域只剩源,归并粒度不同。
问:伪静态和来源信息有什么关系? 答:改写后的路径决定同源跳转时带出去的是哪一段,影响统计形态。