Storage Networking , Part 1 eBook: A storage network is any network that's designed to transport block-level storage protocols. But understanding the ins and outs of networked storage takes you deep into several of protocols. This guide covers SANs, Fibre Channels, Disk Arrays, Fabric, and IP Storage.
»Storage Networking 2, Configuration and Planning eBook: Picking up where Part 1 left off, Part 2 of our look at storage networking examines configurations for SAN-attached servers and disk arrays, and also includes a look at the future of IP storage.
»Storage Management Costs in the Enterprise: A Comparison of Mid-Range Array Solutions Whitepaper:
Many factors contribute to the ownership cost for enterprise storage. These include (but are not limited to): physical capacity relative to physical space requirements, performance capacity for data transfer and system reaction time, software maintenance and updates, expandability and flexibility, and much more.
»Storage Is Changing Fast Be Ready or Be Left Behind PDF: The storage landscape is headed for dramatic change, thanks to new technologies like Fibre Channel over Ethernet (FCoE), pNFS, object-based storage and SAS that will affect everything from NAS and SANs to disk drives. Get the knowledge you need to make the most of your storage environment, now and in the future.
»HP StorageWorks EVA4400 Demo:
Dont settle for an expensive and complex array that lacks functionality. The HP StorageWorks EVA4400 delivers virtual storage with enterprise class functionality at an affordable price.
»
The Common Gateway Interface, or CGI,
permits interactivity between a client and a host operating
system through the World Wide Web via the
Hyper Text Transfer Protocol (HTTP).
It's a standard for external gateway programs to interface
with information servers, such as HTTP or Web servers.
A plain
HTML document that the Web
server delivers is static, which means it doesn't change.
A CGI program, on the other hand, is executed in real-time,
so that it can output dynamic information - perhaps a weather
reading, or the latest results from a database query.
CGI allows someone visiting your Web site to run a program on
your machine that performs a specified task.
Gateways are programs which handle information requests and return
the appropriate document or generate a document on the fly.
Your server can serve information which is not in a form
readable by the client (e.g. an SQL database), and act as a
mediator between the two to produce something which clients can use.
Gateways can be used for a variety of purposes,
the most common being the handling of FORM requests for HTTP.
An
HTTPserver is often used
as a gateway to a legacy information system;
for example, an existing body
of documents or an existing database application.
The Common Gateway Interface is a convention between HTTP server
implementors about how to integrate such gateway scripts and programs.
Gateway programs, or scripts, are executable programs which can be run
by themselves.
They have been made
external programs in order to allow them to run under various
(possibly very different) information servers interchangably.
Gateways conforming to this specification can be written in any
language which produces an executable file. Some of the more popular
languages to use include:
C or C++, Perl, Python, TCL, shells,
and many others.
It doesn't matter what language the program is written in, as long
as you have the permission and resources to run it on your machine
and the program is written correctly.
Getting Started
Here is a simple example demonstrating the Common Gateway Interface.
This example uses the
Perl language
because of its portability and relative ease of use.
When we explain operating system commands we will generally speak
UNIX.
Note that UNIX is CaSe-sEnSiTiVe.
Some servers allow your CGI programs to be anywhere in your web
directories, so long as the file name ends in ".cgi". Others require
you to put them only in the "/cgi-bin" directory. Check with your
system administrator.
Now, create a file called Hello.cgi:
We've seen how a CGI script can send information back to a browser,
but how do we send information to a CGI script? This can be
accomplished using what are referred to as forms. Forms allow for
user defined information to be passed along from a Web browser to
a CGI program for processing.
Unlike form variables, environment variables are not user defined
but are server defined. These variables are passed along everytime
a CGI script is invoked.
The INPUT tag:
text entry for The URL-Minder.
This is the most important of the form elements;
with it you can allow the user to input text or
passwords and submit them to the server for CGI processing.
Selena Sol's WebWare A monthly column for the cultural anthropologist and other liberal arts hackers gone Webmaster.
CGI-Capable Web Servers
ServerWatch is the ultimate guide to Internet servers and Web development tools, and has information about which Web servers are CGI-capable.
CGI Authoring Resources
If you can't find what you're looking for, the WDVL's CGI Authoring Resources page will get you up to speed in no time!