News for hackers. Stuff that matters.
Re:Show HN: This page exists only if someone is looking at it by rhythmvs on Tuesday May 12, 2015 @11:29AM (#9532477)
Interesting to watch Gmail reading along…

Send the link with the hash using your gmail account, stay tuned at the corresponding page on http://ephemeralp2p.durazo.us, watch “Currently viewing” pop to "2" immediately after you sent the mail. Obviously, the Google borg is slurping up each and every address on the Web it is fed.

Re:Show HN: This page exists only if someone is looking at it by knodi123 on Tuesday May 12, 2015 @11:38AM (#9532542)
more insidious theories aside, this is probably at least used to drive the "warning, this looks like a phishing attack" which gets inserted inline in some emails.
Re:Show HN: This page exists only if someone is looking at it by cmdrfred on Tuesday May 12, 2015 @07:56PM (#9535827)
Someone didn't see yesterdays playing card/get request debate.
Re:Show HN: This page exists only if someone is looking at it by colinbartlett on Tuesday May 12, 2015 @08:11PM (#9535884)
Hard to imagine this could be much of a debate. If it's not idempotent you can't use GET. Period.
Re:Show HN: This page exists only if someone is looking at it by cmdrfred on Tuesday May 12, 2015 @08:45PM (#9536010)
"but you are literally 'get'ing a playing card"
Re:Show HN: This page exists only if someone is looking at it by oh_sigh on Tuesday May 12, 2015 @12:28PM (#9532882)
Of course they are - they are probably checking the URL for phishing content or malware.
Re:Show HN: This page exists only if someone is looking at it by zuck9 on Tuesday May 12, 2015 @12:15PM (#9532781)
They can't be doing this. What if just opening the link does a destructive action, like unsubscribing or posting a comment on your website?
Re:Show HN: This page exists only if someone is looking at it by oh_sigh on Tuesday May 12, 2015 @12:27PM (#9532870)
Then said link is in violation of web standards that have existed for literally decades. I believe I've heard stories about google bots deleting entire forums, because the forums performed destructive actions via GET calls to specific URLs.

If what you said makes sense to you, ask yourself how google can crawl any URL at all, considering communicating anything to any server could trigger a destructive action.

Re:Show HN: This page exists only if someone is looking at it by ryanbrunner on Tuesday May 12, 2015 @01:35PM (#9533449)
I'm curious how one-click unsubscribes continue to function, then. Wouldn't those need to be GET requests (due to being a link)?
Re:Show HN: This page exists only if someone is looking at it by dankohn1 on Tuesday May 12, 2015 @01:57PM (#9533605)
Take a look. All modern unsubscribes are a get followed by a post for exactly this reason.
Re:Show HN: This page exists only if someone is looking at it by toomuchtodo on Tuesday May 12, 2015 @02:20PM (#9533775)
Today I learned!
Re:Show HN: This page exists only if someone is looking at it by frankzinger on Wednesday May 13, 2015 @12:04PM (#9539950)
Beware, one of the unwritten laws of HN is that any post containing anything vaguely reminiscent of reddit gets downvoted. Upvoted in order to pre-empt the inevitable downvote.
Re:Show HN: This page exists only if someone is looking at it by toomuchtodo on Wednesday May 13, 2015 @12:13PM (#9540008)
Thanks! I wasn't attempting to bring something reddit-esq to HN, I simply enjoy learning new tidbits everyday on HN!
Re:Show HN: This page exists only if someone is looking at it by ZainRiz on Tuesday May 12, 2015 @11:50PM (#9536641)
Would you consider an unsubscribe page that used javascript to automatically make a PUT/POST unsubscribe call on pageload bad practice then?

The google-bots wouldn't affect it since they don't run javascript

Re:Show HN: This page exists only if someone is looking at it by nikaspran on Wednesday May 13, 2015 @02:53AM (#9537243)
Google seems to be running JavaScript for a while now:

I.e.: http://searchengineland.com/tested-googlebot-crawls-javascri...

Re:Show HN: This page exists only if someone is looking at it by svieira on Tuesday May 12, 2015 @01:54PM (#9533590)
They do and they are (at least where I have worked) but it seems that Google et. alia are smart enough to not follow links marked containing text with the value "Unsubscribe".
Re:Show HN: This page exists only if someone is looking at it by dragonwriter on Tuesday May 12, 2015 @02:42PM (#9533935)
> What if just opening the link does a destructive action, like unsubscribing or posting a comment on your website?

Then whoever created the link that does that is doing web wrong and needs to stop.

GET is, by definition, a safe method. (See RFC 7231, Sec. 4.2.1; RFC 2616, Sec. 9.1.1.) Doing destructive actions via a safe method is plain wrong.

Re:Show HN: This page exists only if someone is looking at it by vincentkriek on Tuesday May 12, 2015 @02:55PM (#9534027)
Being wrong is very different from not existing. As long as a spec is a guideline there are people doing it wrong, I guarantee you that.

There are links that do that and if google were to follow every linkt people would notice very fast.

Re:Show HN: This page exists only if someone is looking at it by gwillen on Tuesday May 12, 2015 @07:10PM (#9535611)
Google does follow every link, and those people do notice, because their forums get deleted. Very few people do it this wrong for very long.

(Or they get fed up and patch the problem without understanding it, by using robots.txt to block all crawlers from their site.)

Re:Show HN: This page exists only if someone is looking at it by superuser2 on Tuesday May 12, 2015 @01:30PM (#9533401)
Idempotency of HTTP GET requests is not a theoretical concern.
Re:Show HN: This page exists only if someone is looking at it by dragonwriter on Tuesday May 12, 2015 @02:44PM (#9533950)
> Idempotency of HTTP GET requests is not a theoretical concern.

That's true, but the relevant feature here is safety, not idempotence. (Though a safe method is also idempotent, not all idempotent methods are safe.)

Re:Show HN: This page exists only if someone is looking at it by ipsum2 on Tuesday May 12, 2015 @02:07PM (#9533688)
Idempotence has nothing to do with it. POSTs are also Idempotent.
Re:Show HN: This page exists only if someone is looking at it by dragonwriter on Tuesday May 12, 2015 @02:47PM (#9533975)
> Idempotence has nothing to do with it. POSTs are also Idempotent.

No, of the "base" HTTP/1.1 methods, all safe methods (GET, HEAD, OPTIONS, TRACE) and some unsafe methods (PUT and DELETE) are idempotent.

POST is neither safe nor idempotent (and safety is the key feature here, rather than idempotence.)

GET, HEAD, and POST are cacheable methods, which you may be confusing with idempotent methods. These are very different categories, however.

Re:Show HN: This page exists only if someone is looking at it by extra88 on Tuesday May 12, 2015 @02:35PM (#9533884)
POSTs are not by definition idempotent. You can make a server response to a POST be idempotent but when you want multiple identical requests to have different effects, POST is the method to use (vs. GET, PUT, DELETE, etc.)

http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

Re:Show HN: This page exists only if someone is looking at it by ble on Tuesday May 12, 2015 @02:39PM (#9533914)
From

http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

9.1.1 Safe Methods

Implementors should be aware that the software represents the user in their interactions over the Internet, and should be careful to allow the user to be aware of any actions they might take which may have an unexpected significance to themselves or others.

In particular, the convention has been established that the GET and HEAD methods SHOULD NOT have the significance of taking an action other than retrieval. These methods ought to be considered "safe". This allows user agents to represent other methods, such as POST, PUT and DELETE, in a special way, so that the user is made aware of the fact that a possibly unsafe action is being requested.

Naturally, it is not possible to ensure that the server does not generate side-effects as a result of performing a GET request; in fact, some dynamic resources consider that a feature. The important distinction here is that the user did not request the side-effects, so therefore cannot be held accountable for them.