Most business people, online or off, are less than tech-savvy. When considering a new website or a website upgrade, they find that they are confronted with a lot of jargon and technical information that reads like Greek to them.
In order to make sound decisions and spend wisely in a new online investment, you, as a business owner, need to know some basic things about the technology of the World Wide Web.
The following is a glossary of many of the terms you'll hear along with a definition, in layman's terms, of what these terms mean. While this is not an all-inclusive list and it will not make you a programmer, it will allow you to have a moderate understanding of what your web master or web developer is talking about when he or she throws technical jargon your way.
Before we get started, a basic description of how a Web server works to interact with a user online is important.
From the Server To the User
A web server, at its core, is nothing more than a personal computer connected to the Internet and specifically set up to serve web pages, sites, etc. A server will have some kind of software to "serve" web pages and to allow the use of CGI (see below). The most common server software is Apache, but there are many others. So, in essence, a computer and web server software are combined (and called a web server) and connected to the Internet.
Once connected, users may access the server by accessing its unique IP address (see below). The server will process the request and display the page. Sometimes a server is called upon to complete specific tasks, usually through CGI (below), using a "script" or program. These can be many things, including common tasks like online polls, shopping carts, and so forth. Web servers can also be tasked to do other things such as connecting to other servers to poll (check) for information (commonly called "spidering"), updates, and so forth.
"Active Server Pages" - this is a type of programming language which runs mainly on systems using Microsoft's operating system. It is commonly used to create dynamic web sites which are coupled with databases of information.
The most common web server software being used in the world today.
"Application Protocol Interface" - this is simply the "language" used to transfer information from one place to another. Most online applications have a proprietary interface which programmers can use to create a "link" from one program to another. For instance, eBay has an API which can be used to link a website or piece of software to eBay's web servers to allow information to be traded (such as specialty software used to list new items).
This refers to a server built and/or utilized specifically to serve a specific application or suite of applications online. Many multi-geographical corporations utilize this so that all of their locations are using the same programs (applications), data, etc. and can interface with one another much more easily.
A programming language, usually only encountered on Microsoft-based machines/servers, it is commonly used for client-specific (non-portable or proprietary) software. Considered slow by most programmers, it is extremely powerful and can be used in many situations where a "scripting" language such as Perl or PHP is not robust enough to do what is required.
"Common Gateway Interface" - this is the basic mode of operations for most interactive items on a site. CGI is the building block upon which a server communicates with a web site so that tasks can be done. Online polls, shopping carts, forms, etc. all use CGI to communicate. CGI is not, however, a programming language, it is merely an interface.
"Cascading Style Sheets" - this is a specific scripting language, usually embedded within HTML, which allows for fine control of graphic elements within a website. Most newer browsers now fully support CSS and it has gained wide acceptance among web designers.
DB or DBM
Usually stands for "Data Base" or "Data Base Manager," this commonly refers to a simple database format which is somewhat dynamic, usually uses file compression, and is (for the most part) proprietary to the database in question. Easy to set up, since whomever is writing the program to access it defines the parameters, these are, however, not very portable and are not easily accessible by outside software.
"Domain Name Server" - a server program specifically engineered to resolve locations of specific items online. For instance, when you type in "www.AaronzWebWorkz.com" into your browser, your browser connects to your Internet Service Provider (ISP)'s DNS, which tells your browser to "point" to an IP address (below). That IP address brings up another, local DNS server for the site, which in turn resolves the query to a specific location on a specific computer in a localized network.
This refers to a database type which is the most common in use. These are easy to set up, somewhat portable, and can be universally utilized by just about any computer platform. They consist of a simple text file in which records are separated by a line break and fields within the records are separated by commas (,), pipes (|), or another text character. These database types are, however, limited in how large they can become and will become cumbersome for the operating system to manage once they reach this point. Suitable for very small applications - generally databases containing less than 10,000 records.
A doorway or "gateway" which is used to transfer information from one source to another. This usually refers to the middle-man utilized to transfer credit card or bank check information from the website to the merchant account (aka "Merchant Gateway").
"Internet Protocol" Address - a specific location on the Internet, usually referring to a web server, computer, or other connected device online. IP addresses are made up of several numbers separated by periods (.). "184.108.40.206" is, for example, the IP address of my own web server. Website URLs (below) or names ("aaronzwebworkz.com") are usually resolved (converted) into an IP address to find a specific location. No two IP addresses are the same, though they can be shared and resolved by local DNS (above) servers to a specific computer within a smaller network.
This is a programming language which was built to be completely portable among different machines, no matter their configuration. Many digital/cell phones, portable computers, PDAs, and other systems utilize Java as a means of allowing website applications to be used on many different machines and still retain functionality. Java is, however, considered very slow and thus remains mainly in the niche of smaller devices which cannot use most other Internet technologies.
This is a simple scripting language, usually embedded within HTML, which can perform simple tasks which are processed by the user's computer rather than the web server. These tasks include simple calculations, cookies, and a few basic interactions - none of which can result in information stored on the web server for later retrieval.
"Java Server Pages" - this is a scripting/programming language which serves dynamic content based on database information. Many large corporations which are not using Microsoft-oriented servers utilize JSP instead of ASP (see above) for their sites.
Usually pronounced "lih-nux," this is an operating system for computers. Over half of the web servers worldwide (many say more) utilize this operating system over Microsoft's Windows. Linux is free to use, but still remains difficult for the average person to master versus Windows' "point and click" interface.
MySQL is the most prolific of the "SQL"-type database formats online. It is portable (from one system to another), robust, and is gaining almost universal acceptance. It is a "dynamic" database, which means cross-referencing and other tasks which are usually very demanding of a computer are done quickly and efficiently.
Perl is the most prolific and most-used programming language for building CGI-type programs to interact with the user, store and retrieve information, etc. Perl is the oldest scripting/programming language commonly in use on the 'Net.
Meant as a replacement for Perl, this scripting language includes many features for the programmer that are commonly done "the hard way" in Perl. It is nearing universal acceptance on most web servers and is especially well-suited to small database management tasks.
"Server Side Includes" - this is a way to bring up dynamic data within an HTML script (web page). Utilizing this and CGI, a web page designer can bring up specific information or call a CGI script (Perl, ASP, etc.) to replace a specific portion of a page and/or to provide data.
"Secure Sockets Link" - an encrypted link from the user's browser to the web server which allows transfer of sensitive information (such as credit card numbers) over the Internet in a fairly secure manner. A special "key" is required to operate an SSL and that key is usually verified by a third party (such as Verisign or Thawte).
"Uniform Resource Locator" - the "human" location of a specific file or resource on the Internet. "http://www.AaronzWebWorkz.com" is a URL which points specifically (via DNS) to my website, for instance.
"eXtensible Markup Language" - this is a data transfer and storage medium. XML, at its base, is a user-definable "language," loosely based on HTML, for storing and transferring data from one system to another, regardless of the operating system or "platform" the systems run on. XML suffers, however, because it is commonly misunderstood by the very programmers who utilize it. It is, nonetheless, widely used and accepted worldwide.