通过查询字符串参数(GET)搜索表单-隐私问题



据我所知:

(1(查询字符串参数通过HTTPS加密。

(2( 查询字符串参数通常不会作为引用人传输,因为大多数浏览器的默认引用人策略或网站的特定引用人策略。

但是:

(3(查询字符串参数通常是服务器日志的一部分。

(4( 查询字符串参数在浏览器历史记录中可见。

我的问题是(因为搜索词也可能是非常敏感的数据(:

为什么网页上的搜索表单使用GET是常见的做法?POST而不是GET难道不会消除(3(和(4(中的隐私问题吗?

谢谢!

  1. 是的,但请确保您通过Referer-policy标头控制此操作。如果不设置缓存头,则这些数据也不会存储在代理上,尽管这并不重要,因为它通常都会被加密
  2. 是的,但无论如何,你也在处理这些相同的搜索词,所以这里没有额外的曝光。当然,您可以使用匿名的日志记录过程来解决这一问题,或者在分析和聚合后删除所有日志详细信息,并在您的隐私政策中记录该过程
  3. 是的,这是真的,但它也在用户的控制下,用户可以随时删除,或者通过自动设置(例如30天后删除(

在HTTP词汇表中,POST用于创建资源,而GET明确用于检索资源,包括搜索。浏览器通常也会存储POST内容(例如,尝试刷新POST页面,它会提供转发数据(,但作为用户,您对此的可见性和直接控制能力较差——浏览器可以像处理GET请求一样保留POST历史记录。因此,在隐私方面,它们之间的唯一区别是它在客户端的可见性——在服务器上没有区别。

最新更新