CGI Programming FAQ
Copyright ⌐ Nick Kew, 1996-7. Please read the Notice and
Disclaimer.
The Table of contents starts at 0 (preamble).
Older (pre-HTML 3) or broken browsers may start it at 1: apologies for any
confusion.
- Preamble
- Changes
- Notice and
Disclaimer
- Where to get this
document
- How to contribute
to this document?
- Can I email the
author my questions?
- What's up with
posting to comp.infosystems.www.authoring.cgi?
- Credits
- Basic Questions
- What is CGI?
- Is it a script or
a program?
- When do I need to
use CGI?
- Should I use CGI
or JAVA?
- Should I use CGI
or SSI or ... { PHP/ASP/... }
- Should I use CGI
or an API?
- So what are in a
nutshell the options for webserver programming?
- What do I
absolutely need to know?
- Does CGI create
new security risks?
- Do I need to be
on Unix?
- Do I have to use
Perl?
- What languages
should I know/use?
- Do I have to put
it in cgi-bin?
- Do I have to call
it *.cgi? *.pl?
- What is the "CGI
Overhead", and should I be worried about it?
- What is CGIWrap,
and how does it affect my program?
- How do I decode
the data in my Form?
- HTTP Headers and NPH
Scripts
- What is HTTP
(HyperText Transfer Protocol)?
- What HTTP request
headers can I use?
- What Environment
variables are available to my application?
- What HTTP response
headers do I need to know about?
- What is NPH?
- Must/should/can I
write nph scripts?
- Do I have to call
it nph-*
- What is the
difference between GET and POST?
- Techniques: "How do
I..."
- Can I get
information about who is visiting?
- Can I get the
email of visitors?
- "But I saw
some.kool.site display my email address..."
- Can I verify the
email addresses people enter in my Form?
- Subject: How can I
get the hostname of the remote user?
- Can I get browser
details and return different pages?
- Can I trace where
a user has come from/is going to?
- Can I launch a
long process and return a page before it's finished?
- Can I launch a
long process which the user interacts with?
- Can I
password-protect my pages?
- Can I do HTTP
authentication using CGI?
- Can I identify
users/sessions without password protection?
- Can I redirect
users to another page?
- Can I run a CGI
script without returning a new page to the browser?
- Can I write
output to a different Netscape frame?
- Can I write
output to several frames at once?
- Can I use a CGI
script to generate both text and inline images?
- How can I use
Caches to make CGI scripts faster and more Net-friendly?
- How can I avoid
users hitting "submit" twice?
- How can I stop my
CGI script reading and writing files as "nobody"?
- How can I prevent
my CGI results being cached by the browser?
- How can I control
the default filename when downloading a file via CGI?
- Applications: Is there
an existing script to ...
- Where to look for
programs, scripts, and other resources?
- Where to look for
free scripts for my application?
- Discussion
group/bulletin board
- CSCW/Groupware
- Database
- Is than a
non-setuid script to allow users to change password?
- Troubleshooting a CGI
application
- Are there some
interactive debugging tools and services available?
- I'm having trouble
with my headers. What can I do?
- Why do I get Error
500 ("the script misbehaved", or "Internal Server Error")
- I tried to use
(Content-Type|Location|whatever), but it appears in my Browser?
- How can I run my
CGI program 'live' in a debugger?
- Further Reading
- Other
FAQs/collections
- Reference
Pages
INDEX