Skip to content

Dan Q

    • Articles
    • Everything
    • Notes
    • Reposts (shares)
    • Checkins (geo*)
    • Videos
    • Reviews
    • Comics
    • Tags
    • Stats
    • Subscribe
    • Blogroll
  • About
    • Semi-standard "slash pages" you might like to explore:
    • /about
    • /blank
    • /blogroll
    • /colophon
    • /contact
    • /cv
    • /license
    • /postcards
    • /privacy
    • /salary
    • /shh
    • /slashes
    • /stats
    • /subscribe
    • /where
    • Hide posts of type:
    • Choose how Dan's dressed:
    • Hair
    • T-Shirt
  • Contact
  • Podcast

Tag: http

  • Re: How I made...

    Noah S shared how he used some PHP code to block specific badly-behaved bots from his website. I've got a few suggestions to help him make his block faster, easier-to-maintain, and more-thorough, either using PHP code or webserver configuration.

    Read more - about 5 minutes (982 words)

    • Reply
    • posted 14 September, 2026
  • A dilapidated living room with damaged lower walls and missing flooring, filled with tools and bags of rubbish.

    F-Day plus 204 (no content??)

    HTTP status code 204 means "no content". No update. Nothing to tell you. F-Day plus 204 brings the same meaning: a disappointing lack of updates to the efforts to repair our house following getting flooded-out in February.

    Read more (386 words)

    • Article
    • 1 comment
    • posted 4 September, 2026
  • I Am Experimenting with Blocking HTTP1.1

    Andrew Stephens has added Caddy configuration to prohibit HTTP/1 clients from accessing most of the pages of his website. I decided to probe it and see how that works.

    Read more (400 words)

    • Repost
    • of this original
    • 2 comments
    • posted 7 March, 2026
  • Highlight of my workday was debugging an issue that turned out to be nothing like what the reporter had diagnosed.

    The report suggested that our system was having problems parsing URLs with colons in the pathname, suggesting perhaps an encoding issue. It wasn't until I took a deep dive into the logs that I realised that this was a secondary characteristic of many URLs found in customers' SharePoint installations. And many of those URLs get redirected. And SharePoint often uses relative URLs when it sends redirections. And it turned out that our systems' redirect handler... wasn't correctly handling relative URLs.

    It all turned into a hundred line automated test to mock SharePoint and demonstrate the problem... followed by a tiny two-line fix to the actual code. And probably the most-satisfying part of my workday!

    • Note
    • 2 comments
    • posted 28 January, 2026
  • HTTP is not simple

    After discovering it through a Gemini newsgroup, I very much enjoyed Daniel Stenberg's (of cURL fame) explanation that contrary to what you might think, HTTP (even version 1) is not a 'simple' protocol, and is full of weird and knotty underspecified loose ends.

    Read more (414 words)

    • Repost
    • of this original
    • posted 1 December, 2025
  • I reimplemented Al Sweigart's "Pipe Swap" scrolling-ASCII-art in plain-text-over-HTTP by exploiting the HTTP Refresh header:

    https://textplain.blog/scroll-art-viewer/pipe-swap

    This was a stupid idea, but it was about the level of code sophistication that my illness-brainfog can handle today.

    • Note
    • posted 20 October, 2025
  • An xternal 33.6kbps serial port dial-up modem.

    Internet Services^H Provider

    When you signed up with an ISP, you used to get Web space, email, shared FTP access, a nearby IRC node, newsgroups, and a software bundle. Nowadays you get a shit router, a voucher for a free month of a streaming service you didn't want, and crap customer service. Where did we go wrong?

    Read more - about 6 minutes (1200 words)

    • Article
    • 1 comment
    • posted 6 August, 2025
  • Reply to Vika, re: Content-Security-Policy

    Vika shared her frustrations with Content-Security-Policy nonces when delivering pre-generated/cached content. I've had a similar fight, so I've written-up a few of the things I tried and what I learned as a result.

    Read more - about 4 minutes (736 words)

    • Reply
    • 2 comments
    • posted 20 February, 2025
  • I'm pretty impressed with running WordPress on Caddy so far.

    It took a little jiggerypokery to configure it with an equivalent of the Nginx configuration I use for DanQ.me. But off the back of it I get the capability for HTTP/3, 103 Early Hints, and built-in "batteries included" infrastructure for things like certificate renewal and log rotation.

    Full image of Browser network debugger showing danq.me being served over protocol 'h3' (HTTP/3) and an 'Early Hints Headers' section loading a WOFF2 font and a JavaScript file.
    Alt

    Browser network debugger showing danq.me being served over protocol 'h3' (HTTP/3) and an 'Early Hints Headers' section loading a WOFF2 font and a JavaScript file.

    (why yes, I am celebrating my birthday by doing selfhosting server configuration, why do you ask? ๐Ÿ˜…)

    • Note
    • 2 comments
    • posted 8 January, 2025
  • 428: Precondition Failed ("You're still sleeping with your ex-!?")

    Breakups as HTTP Response Codes

    408: Request Timeout = "You keep saying you'll propose, but you never do", and 18 other HTTP response codes expressed as relationship breakdowns.

    Read more (302 words)

    • Article
    • 6 comments
    • posted 22 November, 2022

Get in Touch

I'd love to hear from you! Why not...

  • email me on blog@danq.me?
    (my spam filter is aggressive, so use a good subject line, i.e. not just "hello"; encrypt your email if you like)
  • say hi on Mastodon, where I'm @dan@danq.me?
  • send a letter or postcard to
    Dan Q, Unit 159610, PO Box 7169, Poole, BH15 9EL, UK
  • reach out some other way?
  • ยฉ Dan Q 1998-2026
  • Creative CommonsAttributionNon-Commercial except where stated (how to use)
  • powered by BloqClassicPressHTML5CSS3
  • privacy
  • Read articles, checkins, notes, reposts, and more...
  • @dan@danq.me
  • contact
  • subscribe
  • Dan Q
  • Creative Commons Attribution Non-Commercial license
  • ClassicPress
  • CSS is awesome
  • Created by a human, not by AI
  • LGBTQ+ pride flag (2018 progress variant)
  • Polyamory flag
  • Say no to Web3
  • Mastodon (it's like email... no, come back!)
  • Tested on Firefox
  • Best viewed on the Internet
  • PHP
  • Ruby
  • Debian
  • Caddy (webserver)
  • Find me on Melonland
  • Check out my GitHub
  • Three Rings - by volunteers, for volunteers, since 2002
  • I'm a fucking webmaster
  • Looks best at: any resolution!