August 2003
Sun Mon Tue Wed Thu Fri Sat
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
Jul   Sep


Archives

Blogroll


Subscribe to "Dev" in Radio UserLand.

Click to see the XML version of this web page.



Click here to send an email to the editor of this weblog.
 
 Sunday, August 03, 2003
What happens in the Java VM before your main() method is called
To be fair, you should also strace a dynamically-linked hello world app under Linux some time. [Hack the Planet
11:01:33 PM      comment []   trackback []  



SOAP Digest Auth
Sam is looking to do SOAP based digest authentication. I'd suggest you start with the "Basic and Digest Authentication" spec that Rich Salz & Bob Cunnings put together, I did some implementations of this a while back, pretty straight forward. [Simon Fell
10:52:04 PM      comment []   trackback []  



Six Plus One
Previously I talked about the six different places there are to store information in an HTTP transaction. This is slightly misleading. To review, the six places are:
  1. Request URI
  2. Request Headers
  3. Request Content
  4. Response Status Code
  5. Response Headers
  6. Response Content

This is slightly misleading because the URI is listed as a single storage location. This isn't the best characterization, as it really contains two different sets of information: the path, and the query parameters.

Now the path part of a URI usually corresponds to the directory structure on the server. But remember that the path structure of a server is completely controlled by that server and it need not corresponse to any file or directory strucure. While it is at times convenient to map it to a directory structure, this isn't required, and it is possible to pass path information to a CGI program. For example, if you do a GET on the following URL:

http://example.org/cgi-bin/test.py/fred/12

and there exists a program named test.py in the cgi-bin directory then that program will be executed. The remaining path after the program is passed to the CGI program in the PATH_INFO environment variable. In contrast, if query parameters are passed in, they are passed to the CGI program via the QUERY_STRING environment variable.

For example, if this is the script test.py:

import os
print "Content-type: text/plain\n\n"
print "PATH_INFO = %s" % os.environ['PATH_INFO']
print "QUERY_STRING = %s" % os.environ['QUERY_STRING']

And it handles the GET for this URI:

http://localhost/cgi-bin/test.py/reilly/12?id=234454

It will display:

PATH_INFO = /reilly/12
QUERY_STRING = id=234454

Note how the piece of the path below test.py has been stripped off and made available via PATH_INFO, while the query parameters are stored in the QUERY_STRING environment variable.

So HTTP, via the structure of a URI, gives you two distinct places to store information, one in the path and the second in the query parameters. This isn't even the full story, because if you are running Apache and have the ability to use .htaccess files you can use mod_rewrite and map URIs so that they appear as paths but show up in the CGI as query parameters, but we won't cover that now.

[BitWorking
2:25:40 PM      comment []   trackback []  



DECAFBAD Quick links  
5:52:11 AM      comment []   trackback []  



Wiki integration for Thistle/PHPosxom
I've created a Wikify module for Thistle (should also work with PHPosxom), which automatically links WikiWords to appropriate pages of a specified... [Irate Scotsman
5:40:29 AM      comment []   trackback []  



Applications of RDF
Shelley Powers: RDF: Ready for Prime Time gives an overview of the many applications and services already deployed that use RDF in some way. Via that article, RDF in Mozilla Docs and RDF in fifty words or less, both published by the Mozilla project. [Artima Web Buzz
5:27:33 AM      comment []   trackback []  



SQL Junkies weblog...
of course there's .NET blogs too...and now here's the Java blogs.
[The Scobleizer Weblog
5:16:20 AM      comment []   trackback []  



Sputnik: A Radio Userland/ Manila E-xact bridge PROTOTYPE

"Sputnik" is a proof of concept DLL (which I call "Sputnik" because it is the first step to doing e-commerce transactions using E-xact's software) that allows Frontier applications such as Manila and Radio weblogs to perform e-commerce transactions using E-xact's technology.

Development seems to have stalled on this ... what a pity (like so many promising Frontier/RU projects over the years)

[found via an earlier post on Roland Tanglao's Weblog
12:31:43 AM      comment []   trackback []