内容优化 / 方法解读

网页中 a 标签设置 attributionsrc 属性后如何影响归因注册

当 a 标签包含 attributionsrc 属性时,浏览器会在点击链接时发送归因资格请求头,服务器据此返回注册头以完成归因源注册。

设置 attributionsrc 属性的两种方式

attributionsrc 属性支持布尔值和 URL 列表两种设置方式。布尔值形式只需在标签中写入属性名,浏览器会向 href 指向的服务器发送归因资格请求头。这种方式适用于在同一个服务器上处理归因源注册的场景。URL 列表形式则允许在属性值中指定一个或多个 URL,例如指向不同的注册服务器。当资源请求发生时,浏览器除了向资源来源发送请求头外,还会向 attributionsrc 指定的 URL 发送请求头。这些 URL 可以响应归因注册头以完成注册流程。

指定多个 URL 意味着可以在同一功能上注册多个归因源。这通常用于区分不同的营销活动,以便生成不同的报告数据。需要注意的是,a 标签只能作为归因源,不能作为归因触发器。这意味着该属性主要用于记录用户点击行为,而触发后续的归因事件需要通过其他机制实现。

浏览器发送请求头与服务器响应机制

当用户点击带有 attributionsrc 属性的链接时,浏览器会触发资源请求。在请求过程中,浏览器会自动添加 Attribution-Reporting-Eligible 请求头。这个请求头的作用是通知服务器该点击事件具有归因资格。服务器收到请求后,可以在响应中添加 Attribution-Reporting-Register-Source 响应头。这个响应头包含了归因源的数据,浏览器会将其存储起来,以便在后续的归因事件中使用。

如果设置了多个 URL,浏览器会向这些 URL 分别发送请求头。每个 URL 都可以独立地响应注册头。这种机制允许将归因注册逻辑分散到不同的服务器上,或者将同一归因事件注册到多个数据源。例如,一个 URL 用于记录点击数据,另一个 URL 用于记录转化数据。服务器必须正确处理这些请求头,并在响应中提供有效的注册数据,否则归因注册将无法完成。

检查归因注册是否生效的方法

要验证 attributionsrc 属性是否生效,可以使用浏览器开发者工具的网络面板进行检查。在点击链接后,查看网络请求的请求头中是否包含 Attribution-Reporting-Eligible。同时,检查响应头中是否包含 Attribution-Reporting-Register-Source。如果请求头存在但响应头缺失,说明服务器未正确处理归因注册请求。如果响应头存在,说明归因源已成功注册。

还可以通过浏览器的开发者工具查看存储的归因源数据。在应用存储或特定存储区域中,查找与归因相关的数据。如果数据存在,说明归因注册流程已成功完成。如果数据不存在,则需要检查 attributionsrc 属性的设置是否正确,以及服务器响应是否符合规范。

设置 attributionsrc 属性时的注意事项

设置 attributionsrc 属性时,必须确保 href 属性指向的资源是有效的。如果 href 属性为空或无效,浏览器可能不会发送请求头。此外,attributionsrc 属性仅对同源 URL、同源 blob: 和 data: 方案有效。对于其他 URL,浏览器会忽略该属性,并执行正常的导航行为。这意味着跨域链接无法通过该属性实现归因注册。

在设置多个 URL 时,确保这些 URL 可以正确处理请求头并返回有效的响应。如果某个 URL 无法访问或返回无效的响应,可能会导致归因注册失败。此外,归因注册的数据必须符合 Attribution Reporting API 的规范,否则浏览器可能会拒绝存储这些数据。

资料与延伸阅读

你可以通过以下原始资料核对文中概念,并继续深入阅读。

  1. <a> HTML anchor element - HTML | MDN ↗
← 更多内容优化文章返回顶部 ↑