For the tech-geeks

Nov 14, 2006 20:44

Yeah, another quiet spell. This time I've been focusing on HTTP and related protocols and technologies in preparation for the next major upgrade to sehellenes.org.

It all started when I began reading some of the W3C TAG's excellent and extensive web design and architecture documents. This crystallized some of the issues I've already been running into in serving content. A couple of weeks later, much documentation has been consumed and many shadowy nooks illuminated. And I think I now have an above-average (though still far from perfect) handle on how to map server data to user representations through a public URL interface.

The problem? The server software. I'd really like to use Apache httpd, as it's easily the most mature server I've come across. The problem with this is that I've tried literally for weeks to finagle apache httpd into actually using the W3C's recommended best practices, and it has stalwartly rebuffed me at every turn.

I've found precisely one way to do it "right" using apache, and that involves writing an apache module (in C) to handle the processing correctly, and the prospect of maintaining that code is daunting enough that I'd really rather find a better solution. I also found that Java and Ruby may already have apache modules that allow W3C-recommended URL architecture, but my distaste for those languages puts them on roughly the same desirability level as maintaining my own apache module. And that level, as it happens, ranks just barely less desirable than implementing my own damned HTTP server.

So that's what I'm doing. I've begun writing my own HTTP server to translate my server-based data through a HTTP-based URL interface into user-friendly representations. I sank some time into learning basic OCaml in the hopes that I could take advantage of that language's many fine features. In the end, though, I decided that Python's strong libraries for XML and XSLT outweighed its disadvantages relative to OCaml. So I've begun writing it in Python, and that's going swimmingly. I hope to have server and site-specific configuration available under the new codebase within a few weeks.

So yeah, I've been a little busy.

Anyway, that background aside, on to my actual motivation for posting today. And it conveniently relates to that recent history. Because today, while investigating a DNS vulnerability at work, I ran across the incredibly intriguing RFC 3467. Its title, Role of the Domain Name System (DNS), does a disservice to its content. For while it does examine the role of DNS in the Internet, it does it specifically with an eye toward contrasting the engineering forces that led to DNS's design and creation decades ago with the forces alive on the Internet today. It describes with great acuity many of the naming issues that have plagued the Internet in recent years, notably including (and here's the tie-in to my recent research) the complications of using of DNS names in HTTP URLs. The document was honestly such a brain-opener for me that I needed to post about it before I forgot and lost the details.

That said, despite the issues with the use of DNS names in HTTP URLs, I can't justify putting off sehellenes.org development until Internet service names are rearchitected, so the webserver development pushes onward. And speaking of which, I've got a social engagement to attend.

With thanks to those who've read along and apologies to those who tried but fell behind... laters.

(LJ Spellchecker Genius of the Day: OCaml -> Acme)

tech, geek, ideas, web, spellchecker genius, perspective

Previous post Next post
Up