Footnotes
- The Web Developer's Resource Library has an excellent HTML Primer if you need a refresher on what HTML is! But basically, HTML (Hyper Text Markup Language) is a way of describing how a web browser should display text and images. HTML codifies page layout into a series of instructions called "HTML tags". The job of Web Browser programs is to translate ugly HTML instructions into the beautiful web pages we see while surfing.
- Okay so there are quite a few jargon words in that sentence which might need quick explanations.
- Truthfully much of what is done by CGI can also be done using SSI (Server Side Includes) which is a service provided by web server software in which certain HTML comment tags can be used to execute commands. SSI will not be covered this month since it demands its own article, however, for the purposes of this introduction, SSI programs are similar enough in theory to CGI programs that they can be thought of as the same thing.
- When you get some software for your computer and you have to get the special "Mac Version" or "Windows Version", you are getting a "platform dependent" program. Unfortunately, when you move from being a PC user to being a Mac user, you have to buy all new programs because the programs you bought for Windows will not work on Mac. The beauty of web programs is that they are typically "platform independent" which means that you can run them anywhere. Whether you use a PC, Mac or Unix box, the programs will work just fine.
- CGI is not the only form of server-side scripting available, of course. For example, Netscape's Live Wire is an online development environment for Web site management and client-server application development. It uses JavaScript, Netscape's scripting language, to create server-based applications similar to CGI programs. Unlike CGI programs, however, LiveWire applications are closely integrated with the HTML pages that control them. However, non-CGI server side strategies are best covered in their own article.
- You can think of an instance of a script as a unique and independent version of a generic script. It is called an "instance" because ten web surfers could all execute a CGI script at the same time. Though each web surfer would be using the same generic CGI script, each instance of that script would be personalized to that web surfer. Thus you may have ten instances of the exact same script running in parallel on the web server hardware.
- Hidden variables allow you to maintain state using the HTML "Hidden" form tag. Essentially, you include information in your HTML form that will not be visible to the user when they look at the form in their web browser window, but which will be transferred to the CGI script with the user-supplied data. The format of the tag looks something like the following:
<INPUT TYPE = "HIDDEN" NAME = "first_name" VALUE = "selena">
<INPUT TYPE = "HIDDEN" NAME = "last_name" VALUE = "sol">
When the CGI script processes the information that the user enters into the HTML form, it will also receive the variable "first_name" with the value of "selena" as well as "last_name" equal to "sol".If the user is not using a FORM tag to navigate through a site, the admin can still encode state information in the URL by using the HTTP standard for URL encoding. For example, the following hyperlink would send the same info as above to the CGI script.
<A HREF = "www.extropia.com/test.cgi?first_name=selena&last_name=sol">click here</A>
Notice that variables to be passed along are listed after the question mark, name/value pairs are separated by the ampersand sign, and the variable name and variable values are separated by an equal sign.Finally, the CGI script may write out state information to a file on the server and then simply pass along the location of the file using one or both of the above methods. This is best when there is a large amount of state information.
By the way, maintaining state can also be achieved using Netscape Cookies, however, we will not address cookies here because they require their own article.
- Perl is a fun language to use because it keeps the nuts and bolts of machine code as invisible as possible. One of the ways Perl does this is by adding an extra step between you and the computer. This extra step is called a "Perl interpreter". This interpreter (which your sysadmin must install) reads a Perl program that you write and translates it "on the fly" into machine code that can be understood by your computer. Your "executable" can then be moved to any other system with a Perl interpreter and be run without problems. Further, the code can be easily modified and understood. Unfortunately, in order to run your executable, you must also run the interpreter and this can be expensive in terms of server resources.
In more intense languages like C or C++, there is no interpreter. You must use a special "compiler" program to translate your code into machine code. This affords greater power to your programs since you do not need to run a separate interpreter when you run your executable, but it does mean that executables are specific to each operating system and that the source code is stored separately from the executable code.
- Notice that CGI scripts must be smart enough to answer all sorts of questions.
In this column we will use the word "client" to refer to a person who is using a "web browser" program like Netscape Navigator or Internet Explorer to display HTML documents received from a "web server".
A web server is a combination of hardware (an actual computer that stores all of the HTML files) and software (the program that listens for web browser requests and utilizes the hardware resources to fulfill those requests).
Web browsers and web servers communicate using HTTP (Hyper Text Transfer Protocol) which provides a communication standard for efficient and intelligible dialog. Essentially HTTP allows a web browser to contact a web server somewhere on the web and ask for a specific document (or resource). It also allows the server to send the requested document (or execute the resource) back to the web browser.
Related Articles
- What You Need to Know About Choosing A Domain NameAside from the nuts and bolts of where to register your domain name and purchasing a good economical hosting service, there are a few things to know about buying a good domain name, that only experience can teach. Here are a few tips to get you started on the right foot
- The Design ProcessSo you are feeling a bit creative and are ready to sit down and punch out some designs, eh? What works for me might not work for you, however, this article can hopefully offer you a friendly kick start should you get stuck.
- Spring Cleaning and Website Maintenance for Your WebsiteRegular website maintenance is an important aspect of owning an online business. Just like a house, your website needs an annual spring cleaning.
- Datasheet controlAuthor Ben Hunt is principal consultant at Scratchmedia Ltd. and his client list includes the BBC. Here he guides us through the process of creating a datasheet.
- Aesthetics of SoundThe following tutorial on the aesthetics of sound in web presentations gives away some tips to always ensure a positive aural experience for your audience.
- Reinventing Your HomepageEveryone struggles to make their sites appealing. Nonetheless, only a few has discovered the formula behind pretty and serviceable site.
- Home Page ReinventionEveryone struggles to make their sites appealing. Nonetheless, only a few has discovered the formula behind pretty and serviceable site.
- Foot NotesThe Web Developers Resource Library has an excellent HTML Primer if you need a refresher on what HTML is! But basically, HTML (Hyper Text Markup Language) is a way of describing how a web browser should display text and images. HTML codifies page layout into a series of instructions called HTML .....
- Checklist For A Successful Web Site DesignDesigning a Web site can be a time consuming and often complicated task. Even if you have a general idea or a vision for your site, there are many details that will need your attention before the project is completed. How in the world do you keep up with it all? We suggest that you start a journa...
- Web Hosting - Cheaper and Easier for Small BusinessesMost small businesses these days try to use the Internet to compete more effectively. The trick, however, is to accomplish that goal without spending too much of your precious money and time.
