* * * * *

                     Play stupid games, win stupid prizes

It's not only Gemini bots having issues with redirects [1]. I'm poking around
the logs from my webserver, when I scan all of them to see the breakdown of
response codes my server is sending (for this month). And well … it's rather
surprising:

Table: Breakdown of HTTP response codes from all the sites I host
Status  Meaning Count
------------------------------
302     Found (moved temporarily)       253773
200     OK      178414
304     Not Modified    25552
404     Not Found       8214
301     Moved Permanently       6358
405     Method Not Allowed      1453
410     Gone    685
400     Bad Request     255
206     Partial Content 151
401     Unauthorized    48
500     Internal Server Error   24
403     Forbidden       4

------------------------------
Status  Meaning Count
I was not expecting that many temporary redirects. Was it some massive issue
across all the sites? Or just a few? Well, it turned all of the temporary
redirects were from one site: http://www.flummux.org/ (and no, I'm not
linking to it as the reason why will become clear). I registered the domain
way back in 2000 just as a place to play around with web stuff or to
temporarly make files available without cluttering up my main websites. The
site isn't meant to be at all serious.

Scanning the log file manually, I was seeing endless log entries like:

-----[ data ]-----
XXXXX­XXXXX­XXXXX - - [10/Apr/2022:20:55:05 -0400] "GET / HTTP/1.0" 302 284 "http://flummux.org/" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MRA 4.6 (build 01425); .NET CLR 1.0.3705; .NET CLR 2.0.50727)" -/- (-%)
-----[ END OF LINE ]-----

That log entry indicates a “browser” from IP (Internet Protocol) address
XXXXXXXXXXXXXXX, identifying itself as “Mozilla (yada yada)” on the 10^th of
April, attempted to get the main page, as referred by http://flummux.org/.
And for how many times this happened, broken down by browser:

Table: Top five user agents making the troublesome requests
Count   User agent
------------------------------
127100  Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MRA 4.6 (build 01425); .NET CLR 1.0.3705; .NET CLR 2.0.50727)
126495  Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E)
42      Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36
36      CATExplorador/1.0beta (sistemes at domini dot cat; https://domini.cat/catexplorador/)
15      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0

Ah, two “browsers” that don't limit the number of redirects they follow. And
amusingly enough, both agents came from the same IP address. Or maybe it's
the same agent, just lying about what it is. Who knows? Well, aside from the
author(s) of said “browser.”

But what was all horribly confusing to me why the server was issuing a
temporary redirect. Yes, if you try to go to http://flummux.org/ the server
will repond with a permanent redirect (status 301) to http://www.flummux.org/
(the reasons for that is to canonicalize the URL (Uniform Resource Locator)s
and avoid the “duplicate content penalty” from Google—I set this all up years
ago). But the site shouldn't redirect again. I can bring the site up in my
browser without issue (which is a visual … pun? Commentary? Joke? on the line
“The sky above the port was the color of television, tuned to a dead
channel.”).

And then I remembered—back in 2016, I set things up such that if the browser
sent in a referring link, the page would temporarily redirect back to the
referring link (which is why I'm not linking to it—you would just be
redirected right back to this page). I set that up on a lark for some reason
that now esacapes me. So the above “browsers” kept bouncing back and forth
between flummux.org and www.flummux.org. For a quarter of a million requests.

Sigh.

In other news, bugs are nothing more than an inattention to detail.

[1] gopher://gopher.conman.org/0Phlog:2022/01/11.1

Email author at [email protected]