I did not mean to imply that you should always use
POST and never use GET, but, rather, I have found
POST to be the better choice in most situations.
I currently use it exclusively.
O'Reilly's "HTML: The Definitive Guide" on page 326,
section 10.2.4.1 "POST or GET?" we have the following
"* For best form-transmission performance, send small
forms with a few short fields via the GET method."
"* Because some server operating systems limit the
number and length of command-line arguments that can
be passed to an application at once, use the POST
method to send forms that have many fields or that
have long text fields."
[The last bullet was my argument in the message below]
"* If you are inexperience in writing server-side
form-processing applications, choose GET. The extra
steps involved in reading and decoding POST-style
transmitted parameters, while not too difficult, may
be more than you are willing to tackle."
"* If security is an issue, choose POST. GET places
the form parameters directly in the application URL
where they easily can be captured by network sniffers
or extracted from a server log file. If the parameters
contain sensitive information like credit card numbers,
you may be compromising your users without their
knowledge. While POST applications are not without
their security holes, they can at least take advantage
of encryption when transmitting the parameters as a
separate transaction with the server."
"* If you want to invoke the server-side application
outside of the realm of a form, including passing it
parameters, use GET because it lets you include form-like
parameters as part of a URL. POST-style applications,
on the other hand, expect an extra transmission from
the browser after the URL, something you can't do as
part of a conventional <a> tag."
[The bullet above was your argument]
Not bad advice.
I agree with your recommendation about first learning
about CGI, especially if you are working with Ada
data servers. However, from my point of view, all
the languages are equally viable for implementing
data servers. Using POST, you just need the ability
to handle stdin and strings. Using GET, you just need
the ability to access command lines and handle strings.
However, from a CMM Level 4 perspective, Ada clearly
wins because of its ability to detect more defects during
compilation. It also wins on occasion due to its
portability, altho at a simple level, C is fine for
Richard Conn, ASE and PAL Manager
> -----Original Message-----
> From: David Botton [mailto:[log in to unmask]]
> Sent: Wednesday, December 08, 1999 4:56 PM
> To: Richard L. Conn
> Subject: Re: Rational A.5 Command Line and HTML
> There is a time and place for everything and GET
> certainly has an important place in CGI programming.
> One clear advantage of GET over POST is that I can set
> up a series of links on a page that can invoke the CGI
> script differently.
> You can not do that with POST methods.
> In general I code all my CGI apps to handle both
> situations. It is a lot easier to test with GETs then
> POSTs also.
> I highly recommend that those interested in CGI
> (HTML/XML/ETC) and Ada programming first learn how to
> do tradional CGI with shell scripts and a web server
> (warning: this is not meant to any individual and
> certainly not as an attack). Much of the confusion I
> have seen in these Ada / web threads stems from a lack
> of understanding in the way web technology works in
> general regardless of lanugage.
> Ada works as well as, and IMHO better ,then C++ or C
> for web technologies, CGI, etc. The key is knowing
> where Ada make sense and what the requirements are for
> integration with other web components.
> David Botton
> --- "Richard L. Conn" <[log in to unmask]>
> > I concur ... POST is definitely preferred to GET.
> > POST provides the name=value pairs via stdin instead
> > of the command line, and another reason to use it is
> > that any given form can create a huge amount of data
> > ...
> > so large, in fact, that the command line limit on
> > some systems can be exceeded. In the web-based DCS
> > I designed for Lockheed, I put a limit of 50,000
> > characters on the size of a value in a name=value
> > pair
> > because for our CMM Level 4 work, we were exceeding
> > 10,000 characters in a single value.
> > Rick
> > ----------------------------------
> > Richard Conn, ASE and PAL Manager
> > http://xenadu.home.mindspring.com/
> Do You Yahoo!?
> Thousands of Stores. Millions of Products. All in one place.
> Yahoo! Shopping: http://shopping.yahoo.com