4 ms·
Here is another perspective from a non-developer user on those reasons and the resulting tradeoff (of allowing DDG to trivially track which result links are fol
by 3xblah 8y ago
Here is another perspective from a non-developer user on those reasons and the resulting tradeoff (of allowing DDG to trivially track which result links are followed):
1.
Privacy conscious users can control whether a Referer header is sent and if so, the content of that header.
They might choose to use a browser that does not make it easy to control the Referer header.
But DDG does not account for those privacy conscious users who may be using browsers that do allow this control. (Bias discosure: I use one and not for privacy reasons.)
The DDG decision seems to encourage users to choose browsers that have privacy-unfriendly default settings or that do not make it easy or even possible to control what if any Referer is sent.
At the very least, it tries to resolve an issue that is a clearly client-side one and is best resolved there.
2.
Correct me if I am wrong but storing "settings" with DDG requires a cookie and/or Javascript to be enabled.
If this is true, then again this is not an improvement in privacy. Privacy users may prefer to keep these browser "features" disabled wherever possible.
Users can of course control whether they send GET or POST by using a client such as curl or the like, or sending requests from a local copy of a DDG html search page with the method changed from GET to POST.
One might wonder why DDG cannot provide an alternative search page with its form method set to POST. Users can then choose which search page they prefer. No cookie needed.
Instead it sets the default method on its search pages to GET (perhaps leaking the query in the URL).
How many users will bother to change the default? A minority of them, no doubt.
There is an opportunity to let users turn off cookies and Javascript and let them perform searches using POST, the method usuaully advocated by those advancing internet privacy.
I cannot see that it would cost DDG anything substantial to provide it, except not promoting GET as a method by default, not requiring users who want to change defaults to enable cookies or javascript to "keep state" and reliquinshing the ability to easily track which result links users follow.
To reiterate, control over the Referer header is easily done by the http client. Clients that do not allow easy user control over this are not improving internet privacy.
In my experience sending Referer headers is almost never necessary. It is very rare that I find a site that requires a Referer header, let alone a specific one.
Sending gratuitous information seems like a clear departure from the internet privacy playbook. Then again, I am not a privacy expert and perhaps the experts have decided there must be a carve-out for the Referer header and users should err on the side of sending too much information rather than too little.
The only reason I am aware of this stuff is because I use the web heavily without javascript or cookies and I take an active role in what headers I send. I generally do not do this for privacy, but for speed and control. I can strip out the prefix client-side if I must use GET.
- 3xblah 8y agoCorrection: When I suggested alternative search page set to POST, that was a mistake. I actually meant alternative endpoint that accepts GET and returns clean (=unprefixed) result links. Sorry for the inadevrtence.
- jolmg 8y ago> But DDG does not account for those privacy conscious users who may be using browsers that do allow this control. (Bias discosure: I use one and not for privacy reasons.) > The DDG decision seems to encourage users to choose browsers that have privacy-unfriendly default settings or that do not make it easy or even possible to control what if any Referer is sent. I can't follow your logic. That DDG provides their own method of circumvention for information leakage through the Referer header does not mean that it encourages browsers that don't have such features. That's like saying that a building that provides facilities for the disabled is encouraging people to become disabled. > At the very least, it tries to resolve an issue that is a clearly client-side one and is best resolved there. And you believe that that's going to happen? In a broad sense, DDG's goal is to promote privacy. The more it can help people in keeping their privacy, the better. I for one, don't control the Referer header in my browser even though I could because I'm lazy, and I appreciate DDG helping me a bit in that regard. However, I imagine that many users of DDG don't even know what a Referer header is, why complicate their search for privacy when DDG can help them? > Correct me if I am wrong but storing "settings" with DDG requires a cookie and/or Javascript to be enabled. > If this is true, then again this is not an improvement in privacy. Why? You give me the impression that you think that any use of cookies requires the ability to track a user, but that's not so. A cookie is merely data that is passed with each request. If the server receives a request "please give me search results for foo and take the following settings into account...", that's not really privacy invasive. The server is not tracking you and remembering you, you're simply providing your preferences in each request as if it were the first time that the server had ever met you. > One might wonder why DDG cannot provide an alternative search page with its form method set to POST. Users can then choose which search page they prefer. No cookie needed. It does. It's in the settings. It probably does use a cookie, but there's no privacy reason to avoid it. > Instead it sets the default method on its search pages to GET (perhaps leaking the query in the URL). > How many users will bother to change the default? A minority of them, no doubt. Like I said in the comment you replied to, the default doesn't leak to either. In the second link I shared, DDG explains how it uses a meta tag to set the URL that the browser should use for Referer. As I understand it, it doesn't even require javascript to work.