datasette #3046:不要为 HTML 页面向 Firefox 发送 link: rel=next HTTP 头。今天我在查看 Firefox 网络面板时注意到,对 Datasette 表格页面的请求会触发一个 HTTP 预取,去获取该表格的下一页行。
出现这种情况,是因为 Datasette 页面会发送这样的 HTTP link 头:
link: <https://latest.datasette.io/fixtures/compound_three_primary_keys?_next=a%2Cd%2Cv>; rel="next"
这很糟糕。访问这些页面的人中有一小部分会点击“下一页”链接,这意味着他们的浏览器正在获取不必要的数据,而 Datasette 服务器不得不渲染整个页面,然后这个页面又被丢弃。
我深入调查后发现,Firefox 有一个关于此行为的 issue,已经开放了 24 年……
而该 issue 早期的一条评论链接到了 我 2002 年的博客文章,其中抱怨了这个功能。我不只是忘了自己写过这件事,我完全忘了这个功能!