Monday, September 28, 2009

Bumper Stickers

Bumper Stickers for Software Testers


 

* Software Testing: Where failure is always an option.

* Improving the world one bug at a time.

* Software Testing: You make it, we break it.

* Software Testers don't break software; it's broken when we get it.

* Software Testers: We break it because we care.

* If developers are so smart, why do testers have such job security?

* Life is too short for manual testing.

* Trust, But Verify.

* The Definition of an Upgrade: Take old bugs out, put new ones in.

* We break software so you don't have to.

* I used to build software...now I break it! Its a lot more fun!!

* All code is guilty, until proven innocent.

* It's Automation, Not Automagic!

* Quality Assurance, we take the blame so you don't have to.

* In God we trust, and for everything else we test.

Saturday, September 19, 2009

TCP/IP Tutorial


 

TCP/IP is the communication protocol for the internet.

TCP/IP defines the rule computers must follow to communicate with each other over the internet.

Your Browser and Server use TCP/IP

Browsers and servers use TCP/IP to connect to the Internet.

A browser uses TCP/IP to access a server. A server uses TCP/IP to send HTML back to a browser.

Your E-Mail uses TCP/IP

Your e-mail program uses TCP/IP to connect to the Internet for sending and receiving e-mails.

Your Internet Address is TCP/IP

Your Internet address "122.161.48.91" is a part of the standard TCP/IP protocol (and so is your domain name).

TCP/IP Introduction


 

TCP/IP is the communication protocol for the Internet.


 

Computer Communication Protocol

A computer communication protocol is a description of the rules computers must follow to communicate with each other.


 

What is TCP/IP?

TCP/IP is the communication protocol for communication between computers on the Internet.

TCP/IP stands for Transmission Control Protocol / Internet Protocol.

TCP/IP defines how electronic devices (like computers) should be connected to the Internet, and how data should be transmitted between them.


 

Inside TCP/IP

Inside the TCP/IP standard there are several protocols for handling data communication:

  • TCP (Transmission Control Protocol) communication between applications

  • UDP (User Datagram Protocol) simple communication between applications
  • IP (Internet Protocol) communication between computers
  • ICMP (Internet Control Message Protocol) for errors and statistics
  • DHCP (Dynamic Host Configuration Protocol) for dynamic addressing


 

TCP Uses a Fixed Connection

TCP is for communication between applications.

If one application wants to communicate with another via TCP, it sends a communication request. This request must be sent to an exact address. After a "handshake" between the two applications, TCP will set up a "full-duplex" communication between the two applications.

The "full-duplex" communication will occupy the communication line between the two computers until it is closed by one of the two applications.

UDP is very similar to TCP, but simpler and less reliable.


 

IP is Connection-Less

IP is for communication between computers.

IP is a "connection-less" communication protocol.

IP does not occupy the communication line between two computers. IP reduces the need for network lines. Each line can be used for communication between many different computers at the same time.

With IP, messages (or other data) are broken up into small independent "packets" and sent between computers via the Internet.

IP is responsible for "routing" each packet to the correct destination.


 

IP Routers

When an IP packet is sent from a computer, it arrives at an IP router.

The IP router is responsible for "routing" the packet to the correct destination, directly or via another router.

The path the packet will follow might be different from other packets of the same communication. The router is responsible for the right addressing, depending on traffic volume, errors in the network, or other parameters.


 

Connection-Less Analogy

Communicating via IP is like sending a long letter as a large number of small postcards, each finding its own (often different) way to the receiver.


 

TCP/IP

TCP/IP is TCP and IP working together.

TCP takes care of the communication between your application software (i.e. your browser) and your network software.

IP takes care of the communication with other computers.

TCP is responsible for breaking data down into IP packets before they are sent, and for assembling the packets when they arrive.

IP is responsible for sending the packets to the correct destination.

TCP/IP Addressing


 

TCP/IP uses 32 bits, or four numbers between 0 and 255, to address a computer.


 

IP Addresses

Each computer must have an IP address before it can connect to the Internet.

Each IP packet must have an address before it can be sent to another computer.

This is an IP address: 192.68.20.50
This might be the same IP address:  www.w3schools.com


 

An IP Address Contains 4 Numbers.

Each computer must have a unique IP address.

This is your IP address: 122.161.48.91

TCP/IP uses four numbers to address a computer. The numbers are always between 0 and 255.

IP addresses are normally written as four numbers separated by a period, like this: 192.168.1.50.


 

32 Bits = 4 Bytes

TCP/IP uses 32 bits addressing. One computer byte is 8 bits. So TCP/IP uses 4 computer bytes.

A computer byte can contain 256 different values:

00000000, 00000001, 00000010, 00000011, 00000100, 00000101, 00000110, 00000111, 00001000 .......and all the way up to 11111111.

Now you know why a TCP/IP address is four numbers between 0 and 255.


 

Domain Names

A name is much easier to remember than a 12 digit number.

Names used for TCP/IP addresses are called domain names.

w3schools.com is a domain name.

When you address a web site, like http://www.w3schools.com, the name is translated to a number by a Domain Name Server (DNS).

All over the world, DNS servers are connected to the Internet. DNS servers are responsible for translating domain names into TCP/IP addresses.

When a new domain name is registered together with a TCP/IP address, DNS servers all over the world are updated with this information.

TCP/IP Protocols


 

TCP/IP is a large collection of different communication protocols.


 

A Family of Protocols

TCP/IP is a large collection of different communication protocols based upon the two original protocols TCP and IP.


 

TCP - Transmission Control Protocol

TCP is used for transmission of data from an application to the network.

TCP is responsible for breaking data down into IP packets before they are sent, and for assembling the packets when they arrive.


 

IP - Internet Protocol

IP takes care of the communication with other computers.

IP is responsible for the sending and receiving data packets over the Internet.


 

HTTP - Hyper Text Transfer Protocol

HTTP takes care of the communication between a web server and a web browser.

HTTP is used for sending requests from a web client (a browser) to a web server, returning web content (web pages) from the server back to the client.


 

HTTPS - Secure HTTP

HTTPS takes care of secure communication between a web server and a web browser.

HTTPS typically handles credit card transactions and other sensitive data.


 

SSL - Secure Sockets Layer

The SSL protocol is used for encryption of data for secure data transmission.


 

SMTP - Simple Mail Transfer Protocol

SMTP is used for transmission of e-mails.


 

MIME - Multi-purpose Internet Mail Extensions

The MIME protocol lets SMTP transmit multimedia files including voice, audio, and binary data across TCP/IP networks.


 

IMAP - Internet Message Access Protocol

IMAP is used for storing and retrieving e-mails.


 

POP - Post Office Protocol

POP is used for downloading e-mails from an e-mail server to a personal computer.


 

FTP - File Transfer Protocol

FTP takes care of transmission of files between computers.


 

NTP - Network Time Protocol

NTP is used to synchronize the time (the clock) between computers.


 

DHCP - Dynamic Host Configuration Protocol

DHCP is used for allocation of dynamic IP addresses to computers in a network.


 

SNMP - Simple Network Management Protocol

SNMP is used for administration of computer networks.


 

LDAP - Lightweight Directory Access Protocol

LDAP is used for collecting information about users and e-mail addresses from the internet.


 

ICMP - Internet Control Message Protocol

ICMP takes care of error-handling in the network.


 

ARP - Address Resolution Protocol

ARP is used by IP to find the hardware address of a computer network card based on the IP address.


 

RARP - Reverse Address Resolution Protocol

RARP is used by IP to find the IP address based on the hardware address of a computer network card.


 

BOOTP - Boot Protocol

BOOTP is used for booting (starting) computers from the network.


 

PPTP - Point to Point Tunneling Protocol

PPTP is used for setting up a connection (tunnel) between private networks.

TCP/IP Email


 


 

Email is one of the most important uses of TCP/IP.


 

You Don't

When you write an email, you don't use TCP/IP.

When you write an email, you use an email program like Lotus Notes, Microsoft Outlook or Netscape Communicator.


 

Your Email Program Does

Your email program uses different TCP/IP protocols:

  • It sends your emails using SMTP
  • It can download your emails from an email server using POP
  • It can connect to an email server using IMAP


 

SMTP - Simple Mail Transfer Protocol

The SMTP protocol is used for the transmission of e-mails. SMTP takes care of sending your email to another computer.

Normally your email is sent to an email server (SMTP server), and then to another server or servers, and finally to its destination.

SMTP can only transmit pure text. It cannot transmit binary data like pictures, sounds or movies.

SMTP uses the MIME protocol to send binary data across TCP/IP networks. The MIME protocol converts binary data to pure text.


 

POP - Post Office Protocol

The POP protocol is used by email programs (like Microsoft Outlook) to retrieve emails from an email server.

If your email program uses POP, all your emails are downloaded to your email program (also called email client), each time it connects to your email server.


 

IMAP - Internet Message Access Protocol

The IMAP protocol is used by email programs (like Microsoft Outlook) just like the POP protocol.

The main difference between the IMAP protocol and the POP protocol is that the IMAP protocol will not automatically download all your emails each time your email program connects to your email server.

The IMAP protocol allows you to look through your email messages at the email server before you download them. With IMAP you can choose to download your messages or just delete them. This way IMAP is perfect if you need to connect to your email server from different locations, but only want to download your messages when you are back in your office.

Web Services Tutorial

Web Services Tutorial

Web Services can convert your application into a Web-application, which can publish its function or message to the rest of the world.

The basic Web Services platform is XML + HTTP.

Introduction to Web Services


 

Web Services can convert your applications into Web-applications.

Web Services are published, found, and used through the Web.


 

What You Should Already Know

Before you continue, you should have a basic understanding of the following:

  • HTML
  • XML

If you want to study these subjects first, find the tutorials on our Home page.


 

What are Web Services?

  • Web services are application components
  • Web services communicate using open protocols
  • Web services are self-contained and self-describing
  • Web services can be discovered using UDDI
  • Web services can be used by other applications
  • XML is the basis for Web services


 

How Does it Work?

The basic Web services platform is XML + HTTP.

XML provides a language which can be used between different platforms and programming languages and still express complex messages and functions.

The HTTP protocol is the most used Internet protocol.

Web services platform elements:

  • SOAP (Simple Object Access Protocol)
  • UDDI (Universal Description, Discovery and Integration)
  • WSDL (Web Services Description Language)

We will explain these topics later in the tutorial.

Why Web Services?


 

A few years ago Web services were not fast enough to be interesting.


 

Interoperability has Highest Priority

When all major platforms could access the Web using Web browsers, different platforms could interact. For these platforms to work together, Web-applications were developed.

Web-applications are simple applications that run on the web. These are built around the Web browser standards and can be used by any browser on any platform.


 

Web Services take Web-applications to the Next Level

By using Web services, your application can publish its function or message to the rest of the world.

Web services use XML to code and to decode data, and SOAP to transport it (using open protocols).

With Web services, your accounting department's Win 2k server's billing system can connect with your IT supplier's UNIX server.


 

Web Services have Two Types of Uses

Reusable application-components.

There are things applications need very often. So why make these over and over again?

Web services can offer application-components like: currency conversion, weather reports, or even language translation as services.

Connect existing software.

Web services can help to solve the interoperability problem by giving different applications a way to link their data.

With Web services you can exchange data between different applications and different platforms.

Web Services Platform Elements


 

Web Services have three basic platform elements: SOAP, WSDL and UDDI.


 

What is SOAP?

SOAP is an XML-based protocol to let applications exchange information over HTTP.

Or more simple: SOAP is a protocol for accessing a Web Service.

  • SOAP stands for Simple Object Access Protocol
  • SOAP is a communication protocol
  • SOAP is a format for sending messages
  • SOAP is designed to communicate via Internet
  • SOAP is platform independent
  • SOAP is language independent
  • SOAP is based on XML
  • SOAP is simple and extensible
  • SOAP allows you to get around firewalls
  • SOAP is a W3C standard

Read more about SOAP on our Home page.


 

What is WSDL?

WSDL is an XML-based language for locating and describing Web services.

  • WSDL stands for Web Services Description Language
  • WSDL is based on XML
  • WSDL is used to describe Web services
  • WSDL is used to locate Web services
  • WSDL is a W3C standard

Read more about WSDL on our Home page.


 

What is UDDI?

UDDI is a directory service where companies can register and search for Web services.

  • UDDI stands for Universal Description, Discovery and Integration
  • UDDI is a directory for storing information about web services
  • UDDI is a directory of web service interfaces described by WSDL
  • UDDI communicates via SOAP
  • UDDI is built into the Microsoft .NET platform

Web Services Example


 

Any application can have a Web Service component.

Web Services can be created regardless of programming language.


 

A Web Service Example

In the following example we will use ASP.NET to create a simple Web Service that converts the temperature from Fahrenheit to Celsius, and vice versa:

<%@ WebService Language="VBScript" Class="TempConvert" %>

Imports System
Imports System.Web.Services

Public Class TempConvert :Inherits WebService

<WebMethod()> Public Function FahrenheitToCelsius
(ByVal Fahrenheit As String) As String
  dim fahr
  fahr=trim(replace(Fahrenheit,",","."))
  if fahr="" or IsNumeric(fahr)=false then return "Error"
  return ((((fahr) - 32) / 9) * 5)
end function

<WebMethod()> Public Function CelsiusToFahrenheit
(ByVal Celsius As String) As String
  dim cel
  cel=trim(replace(Celsius,",","."))
  if cel="" or IsNumeric(cel)=false then return "Error"
  return ((((cel) * 9) / 5) + 32)
end function

end class

This document is saved as an .asmx file. This is the ASP.NET file extension for XML Web Services.


 

Example Explained

Note: To run this example, you will need a .NET server.

The first line in the example states that this is a Web Service, written in VBScript, and has the class name "TempConvert":

<%@ WebService Language="VBScript" Class="TempConvert" %>

The next lines import the namespace "System.Web.Services" from the .NET framework:

Imports System
Imports System.Web.Services

The next line defines that the "TempConvert" class is a WebService class type:

Public Class TempConvert :Inherits WebService

The next steps are basic VB programming. This application has two functions. One to convert from Fahrenheit to Celsius, and one to convert from Celsius to Fahrenheit.

The only difference from a normal application is that this function is defined as a "WebMethod()".

Use "WebMethod()" to convert the functions in your application into web services:

<WebMethod()> Public Function FahrenheitToCelsius
(ByVal Fahrenheit As String) As String
  dim fahr
  fahr=trim(replace(Fahrenheit,",","."))
  if fahr="" or IsNumeric(fahr)=false then return "Error"
  return ((((fahr) - 32) / 9) * 5)
end function

<WebMethod()> Public Function CelsiusToFahrenheit
(ByVal Celsius As String) As String
  dim cel
  cel=trim(replace(Celsius,",","."))
  if cel="" or IsNumeric(cel)=false then return "Error"
  return ((((cel) * 9) / 5) + 32)
end function

Then, end the class:

end class

Publish the .asmx file on a server with .NET support, and you will have your first working Web Service.

Look at our example Web Service


 

ASP.NET Automates the Process

With ASP.NET, you do not have to write your own WSDL and SOAP documents.

If you look closer at our example Web Service, you will see that ASP.NET has automatically created a WSDL and SOAP request.

Web Services How to Use


 

Using the Web Service Example

In the previous page we created a Web service.

The FahrenheitToCelsius() function can be tested here: FahrenheitToCelsius

The CelsiusToFahrenheit() function can be tested here: CelsiusToFahrenheit

These functions will send an XML response like this:

<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://tempuri.org/">38</string>


 


 

Put the Web Service on Your Web Site

Using a form and the HTTP POST method, you can put the web service on your site, like this:

Top of Form

Fahrenheit to Celsius:

 

 

 

Bottom of Form

Top of Form

Celsius to Fahrenheit:

 

 

 

Bottom of Form


 


 

How To Do It

Here is the code to add the Web Service to a web page:

<form
action='http://www.example.com/webservices/tempconvert.asmx/FahrenheitToCelsius'
method="post" target="_blank">
<table>
  <tr>
    <td>Fahrenheit to Celsius:</td>
    <td><input class="frmInput" type="text" size="30" name="Fahrenheit"></td>
  </tr>
  <tr>
    <td></td>
    <td align="right"><input type="submit" value="Submit" class="button"></td>
  </tr>
</table>
</form>

<form
action='http://www.example.com/webservices/tempconvert.asmx/CelsiusToFahrenheit'
method="post" target="_blank">
<table>
  <tr>
    <td>Celsius to Fahrenheit:</td>
    <td><input class="frmInput" type="text" size="30" name="Celsius"></td>
  </tr>
  <tr>
    <td></td>
    <td align="right"><input type="submit" value="Submit" class="button"></td>
  </tr>
</table>
</form>

Substitute the "www.example.com" in the code above with the address of your web site.

You Have Learned Web Services, Now What?


 

Web Services Summary

This tutorial has taught you how to convert your applications into web-applications.

You have learned how to use XML to send messages between applications.

You have also learned how to export a function (create a web service) from your application.


 

Now You Know Web Services, What's Next?

The next step is to learn about WSDL and SOAP.

WSDL

WSDL is an XML-based language for describing Web services and how to access them.

WSDL describes a web service, along with the message format and protocol details for the web service.

If you want to learn more about WSDL, please visit our WSDL tutorial.

SOAP

SOAP is a simple XML-based protocol that allows applications to exchange information over HTTP.

Or more simply: SOAP is a protocol for accessing a web service.

If you want to learn more about SOAP, please visit our SOAP tutorial.

Semantic Web Tutorial

Semantic Web Tutorial


 

The word semantic stands for the meaning of.

The semantic of something is the meaning of something.

The Semantic Web = a Web with a meaning.

Semantic Web Example


 

The Semantic Web. An example application.


 

Buying and selling used cars

Suppose a semantic web system was built to administer the selling and buying of used cars over the Internet.

The system would contain two main applications:

  • One for people who wanted to buy a car
  • One for people who wanted to put up a car for sale

Let's call the Internet applications for IBA (I Buy Application), and ISA (I Sell Application).


 

IBA - The I Buy Application

People who want to buy a car could use an IBA application much like this:

I Buy Application (IBA)

Top of Form


 

Bottom of Form

In a "real live" application you would be asked to identify yourself the first time you used it. Your ID would be stored in an RDF file. Your ID would identify you as a person with name, address, email, and ID number.

When you submitted the query, the application would return a list of cars for sale, and the list could be drilled down and sorted by year, price, location and availability. This information would be returned from a web spider continuously searching the web for RDF files.


 

ISA - The I Sell Application

People who want to sell a car could use an ISA application much like this:

I Sell Application (ISA)

Top of Form


 

Bottom of Form

When you submitted the form, the application would ask you for more information and store your ID and the information in an RDF file made available to the web.

The RDF file would contain information like:

Your ID: Name, address, email, ID number.
Your selling item: type, model, picture, price, description.


 

Behind the scenes

Behind the scenes, the "ISA" application creates an RDF file with a lot of RDF pointers.

It creates an RDF pointer to a file with information about you, an RDF pointer to information about Volvo and Volvo models, an RDF pointer to Volvo dealers and resellers, about parts, about prices, and much more.

An RDF pointer is a pointer (actually an URL) to information about things (like a knowledge database).

The beauty about this is that you don't have to describe yourself, or the car model. The RDF application will sort it out for you.


 

Will it ever work?

Chaos? Standards? What do we need? What are we waiting for?

A standard by W3C, by Microsoft, by Google?

RDF is data about data - or metadata. Often RDF files describe other RDF files. Will it ever be possible to link all these RDF files together and build a semantic web?

No one knows, but someone will try.


 

Will it work all by itself?

I don't think the semantic web will work all by itself. It will need some help to become a reality.

It is not very likely that you will be able to sell your car just by putting your RDF file on the Internet.

The "ISA" and "IBA" applications above will have to be developed by someone. Someone will have to build a search engine database for all the items, and someone will have to develop a standard for it.

It might be eBay, it might be Microsoft, it might be Google, or someone else. But someone will.

Soon we will see marketplaces based on RDF. And one day you will be able to collect information about almost everything on the web in a standardized RDF format.

It might not be free. You might have to pay for the information, or at least for selling your products.

Publishing information about things on the Internet will be much easier than before. Maybe the RSS language (see our RSS tutorial) will be the solution to some of the problems.

Please go to the next chapter to read more about some semantic web issues.

Semantic Web Issue

Semantic Web Agents

The semantic web will not be searchable in free text. To search (or access) the semantic web, we will need some software to help us.

To use the semantic web, we will need "Semantic Web Agents" or "Semantic Web Services". These "Agents" or "Services" will help us to find what we are looking for on the semantic web.

On the semantic web, we might want to look for information about:

  • The cheapest airline tickets
  • Styling that would fit my car
  • Books, DVDs, and CDs
  • Weather forecasts
  • Time schedules and calendar events
  • Stock prices and exchange rates


 

Semantic Web Security

Can I trust a seller on the semantic web. Can I trust a buyer on the semantic web?

To solve, I will need access to more RDF files:

  • Credit card information
  • Bank information
  • Semantic records
  • Social Security information

Source

Person ID

Person Name

Status

Citybank

11223344

John Smith

trustworthy

VISA

11223344

John Smith

trustworthy

Recorded

11223344

John Smith

unknown

US Social Security

11223344

John Smith

born 10-10-1962

By using RDF files like this, my "Semantic Web Agent" can determine if I can trust the person I am dealing with.

(the "Recorded" information could be supplied by Internet trading companies like eBay, Amazon or the like)


 

Payment

To serve the semantic web, payment methods have to be developed.

Internet accessible "Deposit Accounts" could be a solution to this.

A deposit account is an account that can only receive deposits. It could be made accessible for everyone on the Internet, and everyone could deposit money to your account only knowing your ID (or your email address, much like PayPal).

Using this payment method everyone could publish their bank account number over the Internet and sell their car without any middleman.


 

OWL - Your Web Thesaurus

Scenario:

  • You want to sell a book
  • You open your OWL agent
  • You entered "Book" in the category
  • A new screen is asking you to fill out information about the book
  • You fill out the ISBN number written on the book
  • You select "used", and "condition as new", and hit return
  • Your OWL agent automatically fills out the rest
  • Author, year, pages, ...... all information is now complete
  • Your OWL agent has collected all the information you needed to sell the book
  • You click on Auction

You can read more about OWL in our RDF tutorial.


 

Your Auction Agent

  • Your Auction agent opens.
  • You fill out minimum price, and click on "Submit"
  • You book becomes available to all the auctions on the Internet

Web Quality Web Quality - Standards

Web Quality Web Quality - Standards


 

If your web pages conform to the web standards, it improves the quality of your web site.


 

The HTML Standard

XHTML is a reformulation of HTML 4.01 in XML.

Writing your pages to the latest HTML 4.01 standard, brings you as close as possible to the XHTML standard.

Read more about HTML.

Read more about XHTML.


 

The CSS Standard

Using Cascading Style Sheets (CSS) is the preferred way of separating content from style in quality web pages.

With CSS, you can store all style information for your web site in one single document.

All major browsers have support for both the CSS 1 and CSS 2 standards.

Using CSS will improve the quality of your web site and increases the readability for many different browsers. It will also greatly reduce your web site development costs.

Read more about CSS.


 

Web Validation

A validator is a software program that can check your web pages against the web standards.

When using a validator to check HTML, XHTML or CSS documents, the validator returns a list of errors found, according to your chosen standard.

Make sure you make it a habit to validate all your web pages before publishing.

Read more about page validation.


 

WAI - The Web Accessibility Initiative

WAI stands for the "Web Accessibility Initiative", and is initiated by W3C.

WAI's goal is to increase the accessibility of the Internet through six primary areas of work: technology, guidelines, tools, education, research, and development.

You can improve the quality of your web site, and make your information available to more people (and browsers) by writing your pages according to the WAI guidelines.

You will learn more about WAI in a later chapter of this tutorial.

Web Quality - Important HTML Elements


 

<!DOCTYPE>, <title>, and <h1> are important tags to web page quality.


 

The <!DOCTYPE> Element

Doctype means a "document type declaration" (DTD).

All HTML and XHTML pages should contain a <!DOCTYPE> element to define which HTML version it conforms to.

The doctype defines which version of HTML or XHTML you are using, and gives important information to your browser so it can render your page faster and more consistently.

The doctype declaration also allows validating software to check the syntax of your page:

HTML 4.01 Strict, Transitional, Frameset

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">

XHTML 1.0 Strict, Transitional, Frameset

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

XHTML 1.1

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Read more about Doctype and Page Validation at W3Schools.


 

The <title> Element

The <title> element is one of the most important HTML elements. Its main function is to describe the content of a web page.

Even if the title is not a visible part of your web page, it is important to the quality of your web site because it will be visible in

  • search engine lists
  • the browser's title bar
  • user's bookmark

The title should be as short and descriptive as possible.

When a user search for a web site, most search engines will display the title of your web site in the search result. Make sure the title match the content the user is looking for. Then it is more likely the user will click on the link to visit your web site.

After a user has visited your website, the title of your web page will be stored in the user's history folder. Make sure the title clearly describes your pages for future visits.

Good title examples:

<title>HTML Tutorial</title>

<title>XML Introduction</title>

Bad title examples:

<title>Introduction</title>

<title>Chapter 1</title>

<title>W3Schools has a collection of award winning, well organized, and easy to understand HTML, CSS, JavaScript, DHTML, XML, XHTML, WAP, ASP, SQL tutorials with lots of working examples and source code. </title>


 

The <h1> Element

The <h1> element is used to describe the main heading of a web page.

Because some web browsers display the <h1> element in a very large font by default, some web developers will use the <h2> element instead of the <h1> element for main headings. This will not confuse the reader,  but it will confuse most search engines and other software that will try to "understand" the structure of the web page.

Use <h1> for main headings, and <h2> and <h3> for lower level headings.

Try to structure your headings after this template:

This is the main heading

Some initial text

This is a level 2 heading

This is some text. This is some text. This is some text.   

This is a level 3 heading

This is some text. This is some text. This is some text.

This is a level 3 heading

This is some text. This is some text. This is some text.

If you don't like the default size for headers, use CSS to change it.

Web Quality - Style Sheets


 

Using Style Sheets is important to increase the web page quality.


 

Don't use the <font> tag!

The size, font, and color of text should be set with CSS (Cascading Style Sheets).

Do not use the HTML <font> tag!

Using the <font> tag will increase the size of your document, and give you a nightmare every time you want to change your standard text size.

Think of the following example:

One day you decide to change all the headings in your web to another color and another size. With CSS you can change the color and size attributes by rewriting one line of code. If you have used the <font> tag, you will have to edit the <font> tag for all the headings in all your web pages.

Using CSS instead of <font> makes it much easier to give all the pages of your web site a high quality and consistent look.


 

Don't use fixed sizes

Never use fixed size values. Always use relative size values.

The most important reason for this advice is that fixed sizes can not be resized by the browser.

Your visitors will have different monitors, different viewing conditions (light), and possible disabilities (poor eyesight).

Setting your default text size to 100% (or medium), your main headers to 140% (or x-large), your sub headers to 120% (or large), as an example, will make it possible for your reader to resize your pages to their best fit.

Want to see how it works? Select view in your browsers menu, and change the text size for this page.

Note: Adjusting the text size of a web page also changes the amount of text that will fit on a printed page.


 

Don't use a small font size

Some web sites use a small text size just to "squeeze" more text into each page, or to make the page more "stylish".

Again, visitors with different equipment, viewing conditions, and disabilities might have difficulties reading the text.

Don't force your visitors to enlarge the text size every time they visit your site.


 

Always use a background color

Most web pages use colors for different text elements. Both headers and links are often in a different color from the body text.

As a web designer, you should be aware of the fact that your visitors are able to change their default color preferences.

If you define colors for your web elements (like header and links), you should also define the background color.

If you don't define a background color, your web site might end up with some very bad combination of colors (like light red headers on a red background, or even worse, black text on a black background)

If you don't specify a background color, your text might be invisible.

Web Quality - Readability


 

Proper use of fonts and colors will make your website easier to read.


 

Mind the color contrasts

Black text on a white background, or white text on a black background, is best for people with viewing disabilities, and for display on bad equipment.

Grey text on a light background can give a poor contrast:

Grey text on a white background (#EEEEEE)

Grey text on a white background (#CCCCCC)

Grey text on a white background (#AAAAAA)

Grey text on a white background (#888888)

Grey text on a white background (#666666)

Grey text on a white background (#444444)

Grey text on a white background (#222222)

Grey text on a white background (#111111)

Grey text on a dark background can also give a poor contrast:

Grey text on a black background (#222222)

Grey text on a black background (#444444)

Grey text on a black background (#666666)

Grey text on a black background (#888888)

Grey text on a black background (#AAAAAA)

Grey text on a black background (#CCCCCC)

Grey text on a black background (#DDDDDD)

Grey text on a black background (#EEEEEE)

Some combinations - like black and red, black and blue, yellow and green - always strain the eye:

Black text on a red background

  

Black text on a blue background

  

Yellow text on a green background

And some combinations are not so bad:

Black text on a grey background

  

Black text on a light blue

  

Black text on antique white

  

White text on dark blue


 


 

Mind your letter spacing

Text with close letter spacing is difficult to read.

Text with extra letter spacing is easy to read.

Text with reduced letter spacing is difficult to read.


 

Mind your line spacing

Text with good line spacing
is easy to read

Text with reduced line spacing
is difficult to read


 

Avoid the fancy fonts

This font is easy to read....

This font is difficult to read....


 

Speak less Italian

Normal fonts are easy to read.

Italic fonts are not so easy to read.


 

Web Quality - Accessibility (WAI)


 

An accessible web site is a web site that can be used by disabled users.

Disabled users are users with disabilities or bad user conditions.


 

The Web Accessibility Initiative - WAI

WAI (created by W3C, in 1997) is a set of guidelines intended for web developers, authors, and designers- about how to make the web content accessible to people with disabilities.

The goal of these guidelines is accessibility, but they will also help make web contents available to more browsers (voice browsers, cell phones, hand-held devices), and to more users working in difficult environments (hands-free, strong light, darkness, bad sight, heavy noise).


 

Is WAI important?

Yes it is.

Millions of people with disabilities are surfing the Internet every day, and even more millions are using poor browser equipment, or working under difficult user environments.

If your website lacks features, such as resizable fonts, or images with no descriptions, these people will not be able to access your information.

In fact: Your site violates the rights of these people.

Some reasons for making your site more accessible:

  • It will improve your reputation and image
  • It will improve your customer satisfaction
  • It will increase your number of visitors
  • It will let your visitors stay longer at your site
  • It will increase the number of returning visitors
  • It will make your site more usable also for people with no disabilities
  • It will make your site more usable for users with images turned off
  • It will make your site more usable for people with older equipment
  • It will let you reach the fastest growing population: older people


 

Use an adjustable font size

Use only relative font sizes, and let the user be able to use the browser menu (View - Text Size) to change the default text size.

Can you read this?

Can you read this?

Can you read this?

Can you read this?

To change the font size, select view - text size - in your browser menu.


 

Use the "alt" attribute

The alt attribute allows you to provide an alternative text for an image.

Example:

<img src="images/banana.jpg" alt="Banana" />

Sometimes a web browser will not display your images. The reason could be one of many:

  • The user has turned off the display of images
  • The browser is a mini browser without image display
  • The browser is a voice browser

If you use the "alt" attribute, most browsers will at least display, or read the "alt" text.

Web Quality - Internationalization


 

The Internet is international.


 

The Internet is international

"With the Internet follows an absolute requirement to interchange data in a multiplicity of languages, which in turn utilize a bewildering number of characters."

H. Alvestrand, The Internet Engineering Task Force (IETF), January 1998.


 

International character-sets

All W3C standards (since 1996), including HTML, XHTML, and XML, defines an internal character-set called Unicode (ISO 10646).

All modern web browsers are using this character-set internally. Most documents transmitted over the Internet do not use the Unicode character-set.

Because of this, browsers and servers must have a way to agree about the character-set used in the communication between them.

Labeling each document with the proper character-set, is important for the quality of your web site.

For your HTML / XHTML pages always use the following meta element inside the head element:

<meta http-equiv="Content-Type" content="text/html;charset=x" />

Replace x with the character-set you use, like ISO-8859-1, UTF-8, or UTF-16.


 

International date formats

Don't use dates like "04-03-02".

The date above could mean the 2nd of March, 2004. It could also mean the 4th of March, 2002. Or even the 3rd of April, 2002.

The International Standard Organization (ISO) has defined an international format for dates as "yyyy-mm-dd", where yyyy is the year, mm is the month, and dd is the day.

When you use this ISO format, you can expect most visitors to understand your dates.

Web Building Introduction


 


 

Every Web developer has to know the building blocks of the Web:

  • HTML 4.01
  • CSS
  • XHTML
  • XML and XSLT
  • JavaScript
  • ASP or PHP
  • Managing data with SQL
  • The future of the Web


 

HTML 4.01

HTML is the language of the Web, and every Web developer should have a basic understanding of it.

HTML 4.01 is an important Web standard, and very different from HTML 3.2.

When tags, like <font> and color attributes, were added to HTML 3.2, it started a developer's nightmare. Development of web sites where font information must be added to every single Web page is a long and expensive job.

With HTML 4.01, all formatting can be moved out of the HTML document, and into a separate style sheet.

HTML 4.01 is also important because XHTML 1.0 is HTML 4.01 "reformulated" as an XML application. Using HTML 4.01 in your pages makes the future upgrade from HTML to XHTML a very simple process.

Make sure you use the latest HTML 4.01 standard.


 

CSS - Cascading Style Sheets

Styles define how HTML elements should be displayed, just like the <font> tag in HTML 3.2.

Style sheets are normally saved in external files. External style sheets enable you to change the appearance and layout of EVERY page in your Web site, just by editing a single document. If you have ever tried changing something like the font or color of all the headings in all your HTML pages, you will understand how CSS can save a lot of work!


 

XHTML

XHTML stands for Extensible HyperText Markup Language.

XHTML is a reformulation of HTML 4.01 in XML, and is supported in all major browsers.

To prepare for the future: Read how W3Schools.com was converted to XHTML


 

XML - A Tool for Describing Data

XML is NOT a replacement for HTML. XML describes data, while HTML displays the data.

XML is as a cross-platform, software-, and hardware-independent tool for storing and transmitting information.

We believe that XML is as important to the Web as HTML was to the foundation of the Web, and that XML will be the most common tool for all data manipulation and data transmission.


 

XSLT - A Tool for Transforming Data

XSLT is used to transform XML documents into other formats, like HTML, WML, etc.

XSLT can transform an XML file into a format that is recognized by a browser.

XSLT can also add HTML elements, rearrange and sort data, make decisions about which data to display, and more.


 

JavaScript - Client-Side Scripting

Client-side scripting is about "programming" the behaviour of a browser.

To deliver more dynamic web content, you should teach yourself JavaScript.

  • JavaScript gives HTML designers a programming tool
  • JavaScript can put dynamic text into an HTML page
  • JavaScript can react to events
  • JavaScript can change HTML elements
  • JavaScript can be used to validate data


 

ASP or PHP - Server-Side Scripting

Server-side scripting is about "programming" an Internet server.

To deliver more dynamic web content, you should teach yourself server-side scripting.

With server-side scripting, you can:

  • Dynamically edit, change, or add any content of a Web page
  • Respond to user queries and form data
  • Access databases and return the result to a browser
  • Access files and return the result to a browser
  • Transform XML data to HTML data and return the results to a browser
  • Customize a Web page to make it more useful for individual users
  • Provide security and access control to Web pages
  • Tailor your output to different types of browsers
  • Minimize network traffic


 

Managing Data with SQL

SQL is the standard language for accessing and manipulating databases.

SQL is used to access and manipulate data in MySQL, SQL Server, MS Access, Oracle, Sybase, DB2, and other database systems.

Knowledge of SQL is a must for anyone wanting to store or retrieve data from a database.


 

What Will the Future Bring?

One important thing to know is that the functionality of Web Sites will change very drastically. We will see a huge shift from sites displaying "static content" to data driven sites delivering "dynamic content".

We will also see new browsers, like the browsers found in mobile devices. We will also see more use of XML for transmitting data between servers, or between servers and browsers.

Web Building Site Design


 


 

Designing Web sites needs careful thinking and a lot of planning.

The most important thing is to KNOW YOUR AUDIENCE.


 

Users are Scanners

A typical visitor will NOT read the entire content of your Web page!

No matter how much useful information you put into a Web page, a visitor will only spend a few seconds scanning it before they decide whether to leave or to stay.

Be sure to make your point in the very first sentence of the page! After that, try to keep the user occupied with short paragraphs, and new headers down the page.


 

Less is More

Keep the paragraphs as short as possible.

Keep the pages as short as possible.

Keep the chapters as short as possible.

Use a lot of space! Pages overloaded with text will kill your audience.

If you have a lot to say, break your information into smaller chunks and place it on different pages!


 

Navigation

Create a consistent navigation structure that is used by all the pages in your Web site.

Don't use hyperlinks inside paragraphs, to send visitors to every page of your Web. This will destroy the feeling of a consistent navigation structure.

If you must use hyperlinks, add them to the bottom of a paragraph, or to the menu.


 

Download Speed

Sometimes developers are not aware of the fact that some pages take a long time to download.

Most visitors will leave a Web page that takes more than 7 seconds to download.

Test your web pages over a low-speed modem connection. If your pages take a long time to download, consider removing graphic or multimedia content.


 

Let your Audience Speak!

Feedback is a very good thing!

Your visitors are your "customers". Often they will give you some valuable hints about what you could have done better.

Provide a simple way to reach you, and you will get a lot of input from people with different skills and knowledge.

Web Building Site User

Your visitors use different hardware and software.

The important thing is to KNOW YOUR AUDIENCE.


 

Visitor's Monitor

Not everyone on the internet has the same monitor as you.

If you design a Web site to be displayed on a monitor with a 1024x768 resolution, visitors with lower resolution monitors (like 800x600) might have problems reading your pages.

Make sure you test your Web site on different monitors.

Take a look at our browser display statistics to see the trends in monitor development.


 

What Browsers Do They Use?

Don't forget to test your Web site on different browsers.

The most popular browsers today are Internet Explorer and Firefox.

One wise thing to do when designing Web pages is to use correct HTML (or XHTML). Strict and correct coding will help a browser to display your pages correctly.

 Take a look at our browser statistics to see the trends in browser development.


 

What Plug-Ins Do They Have?

Sound, video clips, or other multimedia content might require the use of separate programs (plug-ins).

Be sure that your visitors have access to the software needed to view them.


 

What About Disabilities?

Some people have viewing or hearing disabilities.

They might try to read your pages with Braille or speech-based browsers. Always add text alternatives for pictures and graphic elements.

Web Standards

Web standards make Web development easier.


 

Why Web Standards?

To make internet a better place, for both developers and end-users, it is important that both browsers and Web developers follow the Web standards.

When developers follow the Web standards, the development is simplified, since it is easier for a developer to understand another's coding.

Using Web standards will help you to ensure that all browsers, will display your Web site properly, without frequent and time-consuming rewrites.

Web pages that conforms to the standard are easier for search engines to access and index, easier to convert to other formats, and easier to access with program code (like JavaScript and the DOM).

Tip:
Make a habit of validating your pages with a validation service. Validation keeps your documents up to the standards, and free for errors.


 

Accessibility

Accessibility is an important part of the HTML standard.

Web standards make it easier for people with disabilities to use the Web.

Blind people can use computers that read Web pages for them. People with poor sight can rearrange and magnify standard Web pages. Simple Web standards like HTML 4 and CSS, will make your Web pages much easier to understand by special devices.


 

W3C - The World Wide Web Consortium

W3C creates the Web standards.

W3C, founded in 1994, is an international consortium dedicated to "lead the Web to its full potential". 

As developers, especially when creating educational Web sites, we can help them turn this dream into reality.

More about W3C


 

ECMA - European Computer Manufacturers Association

ECMA, founded in 1961, in order to meet the need for standardizing computer languages and input/output codes.

ECMA is not an official standardization institute, but an association of companies that collaborate with other official institutes like the International Organization for Standardization (ISO) and the European Telecommunications Standards Institute (ETSI).

For Web developers, the most important standard is ECMAScript, the standardization of JavaScript.

With JavaScript, DOM objects can then be added, deleted, or changed.

The latest ECMAScript specification is ECMA-262:

http://www.ecma-international.org/publications/standards/Ecma-262.htm

Web Building W3C

The World Wide Web Consortium (W3C) creates the WWW standards.

W3C's mission is to lead the Web to its full potential, which it does by developing specifications, guidelines, software, and tools.


 

W3C - The World Wide Web Consortium

From Tim Berners-Lee, the inventor of the World Wide Web, director and founder of the World Wide Web consortium:

"The dream behind the Web is of a common information space in which we communicate by sharing information."

The World Wide Web Consortium (W3C), founded in 1994, is an international consortium dedicated to "lead the Web to its full potential". 

  • W3C Stands for the World Wide Web Consortium
  • W3C was created in October 1994
  • W3C was created by Tim Berners-Lee
  • W3C was created by the Inventor of the Web
  • W3C is organized as a Member Organization
  • W3C is working to Standardize the Web
  • W3C creates and maintains WWW Standards
  • W3C Standards are called W3C Recommendations

As developers, especially when creating educational Web sites, we can help turn this dream into reality. The most important W3C standards are:

Web Building Security

You are offering your IP address to the entire world at this very moment.

Make sure you are not offering access to your private data at the same time.


 

YOUR IP ADDRESS IS PUBLIC

Accessing the Internet is a security risk.

When you are connected to the Internet, an IP address is used to identify your computer.  If you don't protect yourself, this IP address can be used to access your computer from the outside world.

A fixed IP address is a larger security risk.

If you're using a modem with a dial-up connection, you will get a new IP address every time you connect to Internet.

With an ADSL or cable connection users sometimes keep the same IP address for several months, this represents an increased security risk.

If you have a fixed IP address, you give Internet hackers all the time they need to search for entrances on your computer, and to store and share (with other hackers) information they find on your computer.


 

Your Network Shares

Personal computers are often connected to a shared network. Personal computers in large companies are connected to large corporate networks. Personal computers in small companies are connected to a small local network, and computers in private homes often share a network between family members.

Most often networks are used to share resources like printers, files and disk storage.

When you are connected to the Internet, your shared resources can be accessed by the rest of the world.


 

A Common Windows Security Problem

Unfortunately, many Microsoft Windows users are unaware of a common security leak in their network settings.

This is a common setup for network computers in Microsoft Windows: 

  • Client for Microsoft Networks
  • File and Printer Sharing for Microsoft Networks
  • NetBEUI Protocol
  • Internet Protocol TCP/IP

If your setup allows NetBIOS over TCP/IP, you have a security problem:

  • Your files can be shared all over the Internet
  • Your logon-name, computer-name, and workgroup-name are visible to others

If your setup allows File and Printer Sharing over TCP/IP, you also have a problem:

  • Your files can be shared all over the Internet

Computers that are not connected to any network can also have unsecure network settings, because the settings were changed when Internet was installed.


 

Solving the Problem

For Windows 2000 users:

You can solve your security problem by disabling NetBIOS over TCP/IP:

  • Open Windows Explorer
  • Right-click on My Network Places
  • Select: Properties
  • Right-click on Local Area Network
  • Select: Properties
  • Select: Internet Protocol TCP/IP
  • Click on Properties
  • Click on Advanced
  • Select the WINS tab
  • Select Disable NetBIOS over TCP/IP
  • Click OK

If you get the message: "This connection has an empty......", ignore the message and click on YES to continue, and click OK to close the other setup windows.

You should restart your computer after the changes.

For Windows 95, 98, or ME users:

You can solve your security problem by disabling NetBIOS over TCP/IP:

  • Open Windows Explorer
  • Right-click on My Network Places
  • Select: Properties
  • Select: Internet Protocol TCP/IP
  • Click on Properties
  • Select the NetBIOS tab
  • Uncheck: Enable NetBIOS over TCP/IP
  • Click OK

You must also disable the TCP/IP Bindings to Client for Microsoft Networks and File and Printer Sharing:

  • Open Windows Explorer
  • Right-click on My Network Places
  • Select: Properties
  • Select: Internet Protocol TCP/IP
  • Click on Properties
  • Select the Bindings tab
  • Uncheck: Client for Microsoft Networks
  • Uncheck: File and Printer Sharing
  • Click OK

If you get a  message with something like: "You must select a driver.........", ignore the message and click on YES to continue, and click OK to close the other setup windows.

If you still want to share your Files and Printer over the network, you must use the NetBEUI protocol instead of the TCP/IP protocol. Make sure you have enabled it for your local network:

  • Open Windows Explorer
  • Right-click on My Network Places
  • Select: Properties
  • Select: NetBEUI
  • Click on Properties
  • Select the Bindings tab
  • Check: Client for Microsoft Networks
  • Check: File and Printer Sharing
  • Click OK

You should restart your computer after the changes.


 

Protect Your Server

iisPROTECT provides a complete range of password protection, authentication and user management solutions:

iisPROTECTasp: Protect areas of your web site and require username and password. Grant/deny any users/groups on a per resource basis. Extensive Web Interface for user/group admin, use any DB backend, store custom data, set user start/end dates, email users, audit logins.

iisPROTECT: Protect all web site files including images, databases,html,ASP etc. Protect entire directories, users / groups independent from Windows accounts, complete web administration, does not require cookies or any programming. Complete turn key solution.

iisPROTECTquota: All of the features of iisPROTECT plus: prevent concurrent logins and password cracking attempts, set quotas on hits, logins, kb per user.

Web Glossary


 

This is an alphabetical list of Web Building Glossary Terms.


 

Access (Microsoft Access)
A database system developed by Microsoft. Part of Microsoft Office Professional. Mostly used on low traffic web sites running on the Windows platform.

ActiveMovie
A web technology for streaming movies from a web server to a web client. Developed by Microsoft.

ActiveX
A programming interface (API) that allows web browsers to download and execute Windows programs. (See also Plug-In)

Address
See Web Address.

Anchor
In web terms: The starting point or ending point of a hyperlink.

Learn more about links in our HTML tutorial

Anonymous FTP

See FTP Server.

ANSI (American National Standards Institute)
An organization that creates standards for the computer industry. Responsible for the ANSI C standard.

ANSI C
An international standard for the C programming language.

ADO (ActiveX Data Object)
A Microsoft technology that provides data access to any kind of data store.
Learn more about ADO in our ADO tutorial

ADSL (Asymmetric Digital Subscriber Line)
A special type of DSL line where the upload speed is different from the download speed.

Amaya
An open source web browser editor from W3C, used to push leading-edge ideas in browser design.

Animation
A set of pictures simulating movement when played in series.

Anti-Virus Program
A computer program made to discover and destroy all types of computer viruses.

Apache
An open source web server. Mostly for Unix, Linux and Solaris platforms.

Applet
See web applet.

Archie
A computer program to locate files on public FTP servers.

API (Application Programming Interface)
An interface for letting a program communicate with another program. In web terms: An interface for letting web browsers or web servers communicate with other programs. (See also Active-X and Plug-In)

ARPAnet
The experimental network tested in the 1970's which started the development of the Internet.

Authentication
In web terms: the method used to verify the identity of a user, program or computer on the web.

ASCII (American Standard Code for Information Interchange)
A set of 128 alphanumeric and special control characters used for computer storing and printing of text. Used by HTML when transmitting data over the web.
See the full list of ASCII codes in our HTML Reference

ASF (Advanced Streaming Format)
A multimedia streaming format. Developed by Microsoft for Windows Media.

ASP (Active Server Pages)
A Microsoft technology allowing the insertion of server executable scripts in web pages.
Learn more about ASP in our ASP tutorial

ASX (ASF Streaming Redirector)
An XML format for storing information about ASF files. Developed by Microsoft for Windows Media.

AVI (Audio Video Interleave)
File format for video files. Video compression technology developed by Microsoft.

Banner Ad
A (most often graphic) advertisement placed on a web page, which acts as a hyperlink to an advertiser's web site.

Bandwidth
A measure for the speed (amount of data) you can send through an Internet connection. The more bandwidth, the faster the connection.

Baud
The number of symbols per second sent over a channel.

BBS (Bulletin Board System)
A web based public system for sharing discussions, files, and announcements.

Binary Data
Data in machine readable form.

Bit (Binary Digit)
The smallest unit of data stored in a computer. A bit can have the value of 0 or 1. A computer uses 8 bits to store one text character.

BMP (Bitmap)
A format for storing images.

Bookmark
In web terms: A link to a particular web site, stored (bookmarked) by a web user for future use and easy access.

Browse
Term to describe a user's movement across the web, moving from page to page via hyperlinks, using a web browser. (See Web Browser).

BPS (Bits Per Second)
Term to describe the transmission speed for data over the web
.

Browser
See Web Browser.

Byte (Binary Term)
A computer storage unit containing 8 bits. Each byte can store one text character.

C
An advanced programming language used for programming advanced computer applications.

C++ (C Plus Plus)
The same as C with added object-oriented functions.

C# (C Sharp)
A Microsoft version of C++ with added Java-like functions.

Case Sensitive
A term used to describe if it is of importance to use upper or lower case letters.

Cache
In web terms: A web browser or web server feature which stores copies of web pages on a computer's hard disk.

Chat
An on-line text-based communication between Internet users.

CGI (Common Gateway Interface)
A set of rules that describes how a CGI program communicates with a web server.

CGI Bin
The folder (or directory) on a web server that stores CGI programs.

CGI Program
A small program that handles input and output from a web server. Often CGI programs are used for handling forms input or database queries
.

Cinepac
A codec for computer video.

Client
See Web Client.

Client/Server
In web terms: The communication and separation of workload between a web client and a web server.

Click
In web terms: A mouse click on a hyperlink element (such as text or picture) on a web page which creates an event such as taking a visitor to another web page or another part of the same page.

Clickthrough Rate
The number of times visitors click on a hyperlink (or advertisement) on a page, as a percentage of the number of times the page has been displayed.

Codec (Compressor / Decompressor)
Common term for the technology used for compressing and decompressing data.

Communication Protocol
A standard (language and a set of rules) to allow computers to interact in a standard way. Examples are IP, FTP, and HTTP.
Learn more about Communication Protocols in our TCP/IP tutorial

Compression
A method of reducing the size (compress) of web documents or graphics for faster delivery via the web.

Computer Virus
A computer program that can harm a computer by displaying messages, deleting files, or even destroying the computer's operating system.

Cookie
Information from a web server, stored on your computer by your web browser. The purpose of a cookie is to provide information about your visit to the website for use by the server during a later visit.

ColdFusion
Web development software for most platforms (Linux, Unix, Solaris and Windows).

CSS (Cascading Style Sheets)
A W3C recommended language for defining style (such as font, size, color, spacing, etc.) for web documents.

Learn more about CSS in our CSS tutorial

Database
Data stored in a computer in such a way that a computer program can easily retrieve and manipulate the data.
Learn more about databases in our SQL tutorial

Database System
A computer program (like MS Access, Oracle, and MySQL) for manipulating data in a database.

DB2
A database system from IBM. Mostly for Unix and Solaris platforms.

DBA (Data Base Administrator)
The person (or the software) who administers a database. Typical task are: backup, maintenance and implementation.

DHCP (Dynamic Host Configuration Protocol)
An Internet standard protocol that assigns new IP addresses to users as need.

DHTML (Dynamic HTML)
A term commonly to describe HTML content that can change dynamically.
Learn more about DHTML in our DHTML tutorial

Dial-up Connection
In web terms: A connection to Internet via telephone and modem.

Discussion Group
See Newsgroup.

DNS (Domain Name Service)
A computer program running on a web server, translating domain names into IP addresses. Learn more about DNS in our Web Hosting tutorial

DNS Server
A web server running DNS.

DOM (Document Object Model)
A programming model for web page objects
. (See HTML DOM and XML DOM)

Domain Name
The name that identifies a web site. (like: W3Schools.com)
Learn more about domains in our Web Hosting tutorial

DOS (Disk Operating System)
A general disk based computer operating system (see OS). Originally developed by Microsoft for IBM personal computers. Often used as a shorthand for MS-DOS.

Download
To transfer a file from a remote computer to a local computer. In web terms: to transfer a file from a web server to a web client. (see also Upload).

DSL (Digital Subscriber Line)
An Internet connection over regular telephone lines, but much faster. Speed may vary from 128 kilobit per second, up to 9 megabit per second.

DTD (Document Type Definition)
A set of rules (a language) for defining the legal building blocks of a web document like HTML or XML.
Learn more about DTD in our DTD tutorial

Dynamic IP
An IP address that changes each time you connect to the Internet. (See DHCP and Static IP).

E-mail (Electronic Mail)
Messages sent from one person to another via the Internet.

E-mail Address
The address used for sending e-mails to a person or an organization. Typical format is username@hostname.

E-mail Server
A web server dedicated to the task of serving e-mail.

Encryption
To convert data from its original form to a form that can only be read by someone that can reverse the encryption. The purpose of encryption is to prevent unauthorized reading of the data.

Error
See Web Server Error.

Ethernet
A type of local area network (see LAN).

Firewall
Software that acts as a security filter that can restrict types of network communication. Most often used between an individual computer (or a LAN) and the Internet.

Flash
A vector-based multimedia format developed by Macromedia for use on the web.
Learn more about Flash in our Flash tutorial

Form
See HTML Form.

Forum
In web terms: The same as Newsgroup.

Frame
In web terms: A part of the browser screen displaying a particular content. Frames are often used to display content from different web pages.

FrontPage
Web development software for the Windows platform. Developed by Microsoft.

FTP (File Transfer Protocol)
One of the most common methods for sending files between two computers.

FTP Server
A web server you can logon to, and download files from (or upload files to). Anonymous FTP is a method for downloading files from an FTP server without using a logon account.

Gateway
A computer program for transferring (and reformatting) data between incompatible applications or networks
.

GIF (Graphics Interchange Format)
A compressed format for storing images developed by CompuServe. One of the most common image formats on the Internet.

GB
Same as Gigabyte. 10GB is ten gigabytes.

Gigabyte
1024 megabytes. Commonly rounded down to one billion bytes.

Graphics
In web terms graphics describe pictures (opposite to text).

Graphic Monitor
A display monitor that can display graphics.

Graphic Printer
A printer that can print graphics.

Graphical Banner
See Banner Ad.

Helper application
In web terms: A program helping the browser to display, view, or work with files that the browser cannot handle itself. (See Plug-In).

Hits
The number of times a web object (page or picture) has been viewed or downloaded. (See also Page Hits).

Home Page
The top-level (main) page of a web site. The default page displayed when you visit a web site.

Host
See Web Host.

Hosting
See Web Hosting.

Hotlink
See Hyperlink.

HTML (Hypertext Markup Language)
HTML is the language of the web. HTML is a set of tags that are used to define the content, layout and the formatting of the web document. Web browsers use the HTML tags to define how to display the text.
Learn more about HTML in our HTML tutorial

HTML Document
A document written in HTML.

HTML DOM (HTML Document Object Model)
A programming interface for HTML documents.
Learn more about HTML DOM in our HTML DOM tutorial

HTML Editor
A software program for editing HTML pages. With an HTML editor you can add elements like lists, tables, layout, font size, and colors to a HTML document like using a word processor. An HTML editor will display the page being edited exactly the same way it will be displayed on the web (See WYSIWYG).

HTML Form
A form that passes user input back to the server.
Learn more about HTML forms in our HTML tutorial

HTML Page
The same as an HTML Document.

HTML Tags
Code to identify the different parts of a document so that a web browser will know how to display it.
Learn more about HTML tags our HTML tutorial

HTTP (Hyper Text Transfer Protocol)
The standard set of rules for sending text files across the Internet. It requires an HTTP client program at one end, and an HTTP server program at the other end.

HTTP Client
A computer program that requests a service from a web server.

HTTP Server
A computer program providing services from a web server.

HTTPS (Hyper Text Transfer Protocol Secure)
Same as HTTP but provides secure Internet communication using SSL. (see also SSL)

Hyperlink
A pointer to another document. Most often a pointer to another web page. A hyperlink is a synonym for a hotlink or a link, and sometimes called a hypertext connection to another document or web page.

Hypermedia
An extension to hypertext to include graphics and audio.

Hypertext
Hypertext is text that is cross-linked to other documents in such a way that the reader can read related documents by clicking on a highlighted word or symbol. (see also hyperlink)

IAB (Internet Architecture Board)
A council that makes decisions about Internet standards. (See also W3C).

IE (Internet Explorer)
See Internet Explorer.

IETF (Internet Engineering Task Force)
A subgroup of IAB that focuses on solving technical problems on the Internet.

IIS (Internet Information Server)
A web server for Windows operating systems. Developed by Microsoft.

IMAP (Internet Message Access Protocol)
A standard communication protocol for retrieving e-mails from an e-mail server. IMAP is much like POP but more advanced.
Learn more about IMAP in our TCP/IP tutorial

Indeo
A codec for computer video developed by Intel.

Internet
A world wide network connecting millions of computers. (See also WWW)

Internet Browser
See Web Browser.

Internet Explorer
A browser by Microsoft. The most commonly used browser today.
Learn more about browsers in our browser section

Internet Server
See Web Server

Intranet
A private (closed) Internet, running inside a LAN (Local Area Network).

IP (Internet Protocol)
See TCP/IP.

IP Address (Internet Protocol Address)
A unique number identifying every computer on the Internet (like 197.123.22.240)

IP Number (Internet Protocol Number)
Same as an IP address.

IP Packet
See TCP/IP Packet.

IRC (Internet Relay Chat)
An Internet system that enables users to take part in on-line discussions
.

IRC Client
A computer program that enables a user to connect to IRC.

IRC Server
An Internet server dedicated to the task of serving IRC connections.

ISAPI (Internet Server API)
Application Programming Interface (See API) for Internet Information Server (See IIS).

ISDN (Integrated Services Digital Network)
A telecommunication standard that uses digital transmission to support data communications over regular telephone lines.

ISP (Internet Service Provider)
Someone that provides access to the Internet and web hosting.

Java
A programming language developed by SUN. Mostly for programming web servers and web applets. 

Java Applet
See Web Applet.

JavaScript
The most popular scripting language on the internet, developed by Netscape.
Learn more about JavaScript in our JavaScript tutorial.

JPEG (Joint Photographic Expert Group)
The organization that promotes the JPG and JPEG graphic formats for storing compressed images. 

JPEG and JPG
Graphic formats for storing compressed images. 

JScript
Microsoft's version of JavaScript.

JSP (Java Server Pages)
A Java based technology allowing the insertion of server executable scripts in web pages. Mostly used on Linux, Unix and Solaris platforms. 

K
Same as kilobyte 10K is ten kilobytes..

KB
Same as kilobyte 10KB is ten kilobytes..

Keyword
In web terms: A word used by a search engine to search for relevant web information.
In database terms: A word (or index) used to identify a database record.

Kilobyte
1024 bytes. Often called 1K, and rounded down to 1000 bytes.

LAN (Local Area Network)
A network between computers in a local area (like inside a building), usually connected via local cables. See also WAN.

Link
The same as a hyperlink.

Linux
Open source computer operating system based on Unix. Mostly used on servers and web servers.

Mail
In web terms: the same as e-mail.

Mail Server
See e-mail server.

MB
Same as Megabyte. 10MB is ten megabytes.

Megabyte
1024 kilobytes. Commonly rounded down to one million bytes.

Meta Data
Data that describes other data. (See also Meta Tags).

Meta Search
The method of searching for meta data in documents.

Meta Tags
Tags inserted into documents to describe the document.
Learn more about meta tags in our HTML tutorial

MIDI (Musical Instrument Digital Interface)
A standard protocol for communication between computers and musical instruments.
Learn more about MIDI in our Media tutorial

MIME (Multipurpose Internet Mail Extensions)
An Internet standard for defining document types. MIME type examples: text/plain, text/html, image/gif, image/jpg.
Learn more about MIME types in our Media tutorial

MIME Types
Document types defined by MIME.

Modem
Hardware equipment to connect a computer to a telephone network Typically used to connect to the Internet via a telephone line.

Mosaic
The first commonly available web browser. Mosaic was released in 1993 and started the popularity of the web.

MOV
A codec for computer video developed by Apple. Common file extension for QuickTime multimedia files.

MP3 (MPEG-1 Audio Layer-3)
An audio compression format specially designed for easy download over the Internet.

MP3 File
An file containing audio compressed with MP3. Most often a music track.

MPEG (Moving Picture Expert Group)
An ISO standard codec for computer audio and video.

MPG
Common file extension for MPEG files.

MS-DOS (Microsoft Disk Operating System)
A general disk based computer operating system (See OS). Originally developed by Microsoft for IBM computers, then developed by Microsoft as a basis for the first versions of Windows.

Multimedia
In web terms: A presentation combining text with pictures, video, or sound.

MySQL
Free open source database software often used on the web.

NetBEUI (Net Bios Extended User Interface)
An enhanced version of NetBIOS.

NetBIOS (Network Basic Input Output System)
An application programming interface (API) with functions for local-area networks (LAN). Used by DOS and Windows.

Navigate
In web terms: The same as Browse.

Netscape
The browser from the company Netscape. The most popular browser for many years. Today IE has the lead.
Learn more about browsers in our browser section

Newsgroup
An on-line discussion group (a section on a news server) dedicated to a particular subject of interest.

News Reader
A computer program that enables you to read (and post messages) from an Internet newsgroup.

News Server
An Internet server dedicated to the task of serving Internet newsgroups.

Node
In web terms: A computer connected to the Internet, most often used to describe a web server.

Opera
The browser from the company Opera.
Learn more about browsers in our browser section

OS (Operating System)
The software that manages the basic operating of a computer.

Packet
See TCP/IP Packet.

Page Hits
The number of times a web page has been visited by a user.

Page Impressions
The same as Page Hits.

Page Views
The same as Page Hits.

PDF (Portable Document Format)
A document file format developed by Adobe. Most often used for text documents.

Perl (Practical Extraction and Reporting Language)
A scripting language for web servers. Most often used on Unix servers.

PHP (PHP: Hypertext Preprocessor)
A technology allowing the insertion of server executable scripts in web pages. Mostly for Unix, Linux and Solaris platforms.
Learn more about PHP in our PHP tutorial.

Ping
A method used to check the communication between two computers. A "ping" is sent to a remote computer to see if it responds.

Platform
In web terms: The computer's operating system like Windows, Linux, or OS X.

Plug-In
An application built into another application. In web terms: A program built in (or added) to a web browser to handle a special type of data like e-mail, sound, or movie files. (See also ActiveX)

PNG (Portable Network Graphics)
A format for encoding a picture pixel by pixel and sending it over the web. A W3C recommendation for replacing GIF.

POP (Post Office Protocol)
A standard communication protocol for retrieving e-mails from an e-mail server. (See also IMAP).
Learn more about POP and IMAP in our TCP/IP tutorial

Port
A number that identifies a computer IO (input/output) channel. In web terms: A number that identifies the I/O channel used by an Internet application (A web server normally uses port 80).

Protocol
See Communication Protocol.

PPP (Point to Point Protocol)
A communication protocol used for direct connection between two computers.

Proxy Server
An Internet server dedicated to improve Internet performance.

QuickTime
A multimedia file format created by Apple.
Learn more about QuickTime in our Media tutorial

RAID (Redundant Array of Independent Disks)
A standard for connecting multiple disks to the same server for higher security, speed and performance. Often used on web servers.

RDF (Resource Description Framework)
A framework for constructing languages for describing web resources.
Learn more about RDF in our RDF tutorial

Real Audio
A common multimedia audio format created by Real Networks.
Learn more about Real Audio in our Media tutorial

Real Video
A common multimedia video format created by Real Networks.
Learn more about Real Video in our Media tutorial

Redirect
In web terms: The action when a web page automatically forwards (redirects) the user to another web page.

RGB (Red Green Blue)
The combination of the three primary colors that can represent a full color spectrum.
Learn more about RGB in our HTML tutorial

Robot
See Web Robot.

Router
A hardware (or software) system that directs (routes) data transfer to different computers in a network.

Schema
See XML Schema.

Script
A collection of statements written in a Scripting Language.

Scripting Language
In web terms: A simple programming language that can be executed by a web browser or a web server. See JavaScript and VBScript.

Scripting
Writing a script.

Search Engine
Computer program used to search and catalog (index) the millions of pages of available information on the web. Common search engines are Google and AltaVista.

Semantic Web
A web of data with a meaning in the sense that computer programs can know enough about the data to process it
.

Server
See Web Server.

Server Errors
See Web Server Errors.

Shareware
Software that you can try free of charge, and pay a fee to continue to use legally.

Shockwave
A format (technology) developed by Macromedia for embedding multimedia content in web pages.

SGML (Standard Generalized Markup Language)
An international standard for markup languages. The basis for HTML and XML.

SMIL (Synchronized Multimedia Integration Language)
A W3C recommended language for creating multimedia presentations.
Learn more about SMIL in our SMIL tutorial

SMTP (Simple Mail Transfer Protocol)
A standard communication protocol for sending e-mail messages between computers.
Learn more about SMTP in our TCP/IP tutorial

SOAP (Simple Object Access Protocol)
A standard protocol for letting applications communicate with each other using XML.
Learn more about SOAP in our SOAP tutorial

Solaris
Computer operating system from SUN.

SPAM
In web terms: The action of sending multiple unwelcome messages to a newsgroup or mailing list.

Spider
See Web Spider.

Spoofing
Addressing a web page or an e-mail with a false referrer. Like sending an e-mail from a false address.

Spyware
Computer software hidden in a computer with the purpose of collecting information about the use of the computer.

SQL (Structured Query Language)
An ANSI standard computer language for accessing and manipulating databases.
Learn more about SQL in our SQL tutorial.

SQL Server
A database system from Microsoft. Mostly used on high traffic web sites running on the Windows platform.

SSI (Server Side Include)
A type of HTML comment inserted into a web page to instruct the web server to generate dynamic content. The most common use is to include standard header or footer for the page.

SSL (Secure Socket Layer)
Software to secure and protect web site communication using encrypted transmission of data.

Static IP (address)
An IP address that is the same each time connect to the Internet. (See also Dynamic IP).

Streaming
A method of sending audio and video files over the Internet in such a way that the user can view the file while it is being transferred.

Streaming Format
The format used for files being streamed over the Internet. (See Windows Media, Real Video and QuickTime).

SVG (Scalable Vector Graphics)
A W3C recommended language for defining graphics in XML.
Learn more about SVG in our SVG tutorial

Tag
In web terms: Notifications or commands written into a web document. (See HTML Tags)

TCP (Transmission Control Protocol)
See TCP/IP.

TCP/IP (Transmission Control Protocol / Internet Protocol)
A collection of Internet communication protocols between two computers. The TCP protocol is responsible for an error free connection between two computers, while the IP protocol is

responsible for the data packets sent over the network.
Learn more about TCP/IP in our TCP/IP tutorial

TCP/IP Address
See IP Address.

TCP/IP Packet
A "packet" of data sent over a TCP/IP network. (data sent over the Internet is broken down into small "packets" from 40 to 32000 bytes long).

Trojan Horse
Computer program hidden in another computer program with the purpose of  destroying software or collecting information about the use of the computer.

UDDI (Universal Description Discovery and Integration)
A platform-independent framework for describing services, discovering businesses, and integrating business services using the Internet.
Learn more about UDDI in our WSDL tutorial

Unix
Computer operating system, developed by Bell Laboratories. Mostly used for servers and web servers.

UNZIP
To uncompress a ZIPPED file. See ZIP.

Upload
To transfer a file from a local computer to a remote computer. In web terms: to transfer a file from a web client to a web server. (see also Download).

URI (Uniform Resource Identifier)
Term used to identify resources on the internet. URL is one type of an URI.

URL (Uniform Resource Locator)
A web address. The standard way to address web documents (pages) on the Internet (like: http://www.w3schools.com/)

USENET
A world wide news system accessible over the Internet. (See Newsgroups)

User Agent
The same as a Web Browser.

VB (Visual Basic)
See Visual Basic.

VBScript
A scripting language from Microsoft. VBScript is the default scripting language in ASP. Can also be used to program Internet Explorer.
Learn more about VBScript in our VBScript tutorial.

Virus
Same as Computer Virus.

Visit
In web terms: A visit to a web site. Commonly used to describe the activity for one visitor of a web site.

Visitor
In web terms: A visitor of a web site. Commonly used to describe a person visiting (viewing) a web site.

Visual Basic
A programming language from Microsoft.

VPN (Virtual Private Network)
A private network between two remote sites, over a secure encrypted virtual Internet connection (a tunnel).

VRML (Virtual Reality Modeling Language)
A programming language to allow 3D effects to be added to HTML documents.

W3C (World Wide Web Consortium)
The organization responsible for managing standards for the WWW.
Learn more about W3C in our W3C tutorial

WAN (Wide Area Network)
Computers connected together in a wide network, larger than a LAN, usually connected via phone lines. See also LAN.

WAP (Wireless Application Protocol)
A leading standard for information services on wireless terminals like digital mobile phones.
Learn more about WAP in our WAP tutorial

Web Address
The same as an URL or URI. See URL.

Web Applet
A program that can be downloaded over the web and run on the user's computer. Most often written in Java.

Web Client
A software program used to access web pages. Sometimes the same as a Web Browser, but often used as a broader term.

Web Browser
A software program used to display web pages.
Learn more about browsers in our Browser section

Web Document
A document formatted for distribution over the web. Most often a web document is formatted in a markup language like HTML or XML.

Web Error
See Web Server Error.

Web Form
See HTML Form.

Web Host
A web server that "hosts" web services like providing web site space to companies or individuals.

Web Hosting
The action of providing web host services.

Web Page
A document (normally an HTML file) designed to be distributed over the Web.

Web Robot
See Web Spider.

Web Server
A server is a computer that delivers services or information to other computers. In web terms:
A server that delivers web content to web browsers.

Web Server Error
A message from a web server indicating an error. The most common web server error is "404 File Not Found".
Learn more about web server error messages in our HTML tutorial

Web Services
Software components and applications running on web servers. The server provides these services to other computers, browsers or individuals, using standard communication protocols.

Web Site
A collection of related web pages belonging to a company or an individual.

Web Spider
A computer program that searches the Internet for web pages. Common web spiders are the one used by search engines like Google and AltaVista to index the web. Web spiders are also called web robots or wanderers.

Web Wanderer
See Web Spider.

Wildcard
A character used to substitute any character(s). Most often used as an asterix (*) in search tools.

Windows 2000, Windows NT, Windows 95/98, Windows XP
Computer operating systems from Microsoft.

Windows Media
Audio and video formats for the Internet, developed by Microsoft. (See ASF, ASX, WMA and WMF).
Learn more about Windows Media in our Media tutorial

WINZIP
A computer program for compressing and decompressing files. See ZIP.

WMA
Audio file format for the Internet, developed by Microsoft. (See also WMV).
Learn more about media formats in our Media tutorial.

WMV
Video file format for the Internet, developed by Microsoft. (See also WMA).
Learn more about media formats in our Media tutorial

WML (Wireless Markup Language)
A standard for information services on wireless terminals like digital mobile phones, inherited from HTML, but based on XML, and much stricter than HTML.
Learn more about WML in our WAP tutorial

WML Script
Scripting language (programming language) for WML.
Learn more about WMLScript  in our WMLScript tutorial

Worm
A computer virus that can make copies of itself and spread to other computers over the Internet.

WSDL (Web Services Description Language)
An XML-based language for describing Web services and how to access them.
Learn more about WSDL in our WSDL tutorial

WWW (World Wide Web)
A global network of computers using the internet to exchange web documents. (See also Internet)

WWW Server
The same as a Web Server.

WYSIWYG (What You See Is What You Get)
In Web terms: To display a web page being edited exactly the same way it will be displayed on the web.

XForms
A future version of HTML Forms, based on XML and XHTML. Differs from HTML forms by separating data definition and data display. Providing richer and more device independent user input.
Learn more about XForms in our XForms tutorial

XHTML (Extensible Hypertext Markup Language)
HTML reformulated as XML. XHTML is the latest version of HTML. Developed by W3C.
Learn more about XHTML in our XHTML tutorial

XPath
XPath is a set of syntax rules (language) for defining parts of an XML document. XPath is a major part of the W3C XSL standard.
Learn more about XPath in our XPath tutorial

XQuery
XQuery is a set of syntax rules (language) for extracting information from XML documents. XQuery builds on XPath. XQuery is developed by W3C.
Learn more about XQuery in our XQuery tutorial

XML (Extensible Markup Language)
A simplified version of SGML especially designed for web documents, developed by the W3C.
Learn more about XML in our XML tutorial

XML Document
A document written in XML.

XML DOM (XML Document Object Model)
A programming interface for XML documents developed by W3C.
Learn more about XML DOM in our XML DOM tutorial

XML Schema
A document that describes, in a formal way, the syntax elements and parameters of a web language. Designed by W3C to replace DTD.
Learn more about Schema in our XML Schema tutorial

XSD (XML Schema Definition)
The same as XML Schema.

XSL (Extensible Stylesheet Language)
A suite of XML languages developed by W3C, including XSLT, XSL-FO and XPath.
Learn more about XSL in our XSL tutorial

XSL-FO (XSL Formatting Objects)
An XML language for formatting XML documents. A part of XSL developed by W3C.
Learn more about XSL-FO in our XSL-FO tutorial

XSLT (XSL Transformations)
An XML language for transforming XML documents. A part of XSL developed by W3C.
Learn more about XSLT in our XSLT tutorial

ZIP
A compressing format for computer files. Commonly used for compressing files before downloading over the Internet. ZIP files can be compressed (ZIPPED) and decompressed (UNZIPPED) using a computer program like WINZIP.