[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: PaceErrVerb




Walter Underwood wrote:



--On Wednesday, June 23, 2004 02:44:16 PM -0400 Robert Sayre <mint@xxxxxxxxxxxxxxx> wrote:


+1. Atom should not need to extend HTTP. -Tim

Do you consider extension headers unacceptable as well?


I do. We should use HTTP, not re-engineer it.

First: GET, POST, and URL parameters are widely-understood techniques.
They have been adequate for thousands of applications. CGI is good
enough for Atom. Using new methods or new headers makes it harder
for implementors. If we can't make Atom work with CGI, it is our fault,
not HTTP's.

I have a standard shared-hosting plan with a server somewhere in a rackspace.com farm. It costs me $9/month.
I have CGI access. Here is a sample program that's talking to a cgi script that prints server vars on my server:


--------------------------
#!/usr/bin/python

import httplib

request = httplib.HTTPConnection('franklinmint.fm') #proxy info may be required
request.putrequest ('COMPLAIN', '/cgi-bin/env.cgi')#non-standard http method
request.putheader('Atom-Wacky-Header', 'BOGUSXML') #add a header
request.endheaders()
response = request.getresponse()
print response.status, response.reason #print http return code and info
print response.msg #print http response header
print response.read() #print http response body
request.close()
---------------------------


The non-standard method and header went through just fine. I've posted sample output on my site.[1]


Second: If Atom requires an upgrade to the entire WWW infrastructure (firewalls, caches, servers), it will never be adopted. A new HTTP method will require that sort of upgrade. Are you ready to upgrade all of AOL?

Atom as a whole does not require PaceServiceError, as proposed. It's optional for all parties.You're correct that some firewalls will block non-standard methods. This is a feature. Servers that don't support COMPLAIN will say the "Method is Unsupported"--exactly what we want. As for caches, well, someone else should probably comment :)


Robert Sayre

[1] http://franklinmint.fm/archives/env_cgi_output.xhtml