You are on page 1of 183

HTML Basic

HTML HTML HTML HTML HTML HTML HTML HTML HTML HTML HTML HTML HTML HTML HTML HTML HTML HTML HTML HTML HTML HTML HOME Introduction Get Started Basic Elements Attributes Headings Paragraphs Formatting Fonts Styles Links Images Tables Lists Forms Frames Iframes Colors Colornames Colorvalues Quick List

HTML Advanced
HTML Layout HTML Doctypes HTML CSS HTML Head HTML Meta HTML Scripts HTML Entities HTML URLs HTML URL Encode HTML Webserver HTML Summary

HTML References
HTML HTML HTML HTML HTML HTML HTML HTML HTML Tag List Attributes Events Character Sets ASCII ISO-8859-1 URL Encode Lang Codes Status Codes

HTML Headings
HTML headings are defined with the <h1> to <h6> tags.

Example
<h1>This is a heading</h1> <h2>This is a heading</h2> <h3>This is a heading</h3>
Try it yourself

HTML Paragraphs
HTML paragraphs are defined with the <p> tag.

Example
<p>This is a paragraph.</p> <p>This is another paragraph.</p>

HTML Links
HTML links are defined with the <a> tag.

Example
<a href="http://www.w3schools.com">This is a link</a>

Note: The link address is specified in the href attribute. (You will learn about attributes in a later chapter of this tutorial).

HTML Images
HTML images are defined with the <img> tag.

Example
<img src="w3schools.jpg" width="104" height="142" />
Try it yourself

HTML documents are defined by HTML elements. 2

HTML Elements
An HTML element is everything from the start tag to the end tag:

Start tag * <p> <a href="default.htm" > <br />

Element content This is a paragraph This is a link </p> </a>

End tag *

* The start tag is often called the opening tag. The end tag is often called the closing tag.

HTML Element Syntax



An HTML element starts with a start tag / opening tag An HTML element ends with an end tag / closing tag The element content is everything between the start and the end tag Some HTML elements have empty content Empty elements are closed in the start tag Most HTML elements can have attributes

Tip: You will learn about attributes in the next chapter of this tutorial.

Nested HTML Elements


Most HTML elements can be nested (can contain other HTML elements). HTML documents consist of nested HTML elements.

HTML Document Example


<html> <body> <p>This is my first paragraph.</p> </body> </html>

The example above contains 3 HTML elements.

HTML Example Explained


The <p> element:

<p>This is my first paragraph.</p>

The <p> element defines a paragraph in the HTML document. The element has a start tag <p> and an end tag </p>. The element content is: This is my first paragraph. The <body> element:

<body> <p>This is my first paragraph.</p> </body>

The <body> element defines the body of the HTML document. The element has a start tag <body> and an end tag </body>. The element content is another HTML element (a p element). The <html> element:

<html> <body> <p>This is my first paragraph.</p> </body> </html>

The <html> element defines the whole HTML document. The element has a start tag <html> and an end tag </html>. The element content is another HTML element (the body element).

Don't Forget the End Tag


Some HTML elements might display correctly even if you forget the end tag:

<p>This is a paragraph <p>This is a paragraph

The example above works in most browsers, because the closing tag is considered optional. Never rely on this. Many HTML elements will produce unexpected results and/or errors if you forget the end tag .

Empty HTML Elements


HTML elements with no content are called empty elements. <br> is an empty element without a closing tag (the <br> tag defines a line break). Tip: In XHTML, all elements must be closed. Adding a slash inside the start tag, like <br />, is the proper way of closing empty elements in XHTML (and XML).

HTML Tip: Use Lowercase Tags


HTML tags are not case sensitive: <P> means the same as <p>. Many web sites use uppercase HTML tags. W3Schools use lowercase tags because the World Wide Web Consortium (W3C) recommends lowercase in HTML 4, and demands lowercase tags in XHTML.

Attributes provide additional information about HTML elements.

HTML Attributes

HTML elements can have attributes Attributes provide additional information about an element Attributes are always specified in the start tag Attributes come in name/value pairs like: name="value"

Attribute Example
HTML links are defined with the <a> tag. The link address is specified in the href attribute:

Example
<a href="http://www.w3schools.com">This is a link</a>

Always Quote Attribute Values


Attribute values should always be enclosed in quotes. Double style quotes are the most common, but single style quotes are also allowed. Tip: In some rare situations, when the attribute value itself contains quotes, it is necessary to use single quotes: name='John "ShotGun" Nelson'

HTML Tip: Use Lowercase Attributes


Attribute names and attribute values are case-insensitive. However, the World Wide Web Consortium (W3C) recommends lowercase attributes/attribute values in their HTML 4 recommendation.

HTML Attributes Reference


A complete list of legal attributes for each HTML element is listed in our: Complete HTML Reference Below is a list of some attributes that are standard for most HTML elements: Attribute class id style title Value classname id style_definition tooltip_text Description Specifies a classname for an element Specifies a unique id for an element Specifies an inline style for an element Specifies extra information about an element (displayed as a tool tip)

For more information about standard attributes:

HTML / XHTML Standard Attributes


The attributes listed below are standard, and are supported by all HTML and XHTML tags, with a few exceptions.

Core Attributes
Not valid in base, head, html, meta, param, script, style, and title elements. Attribute class id style title Value classname id style_definition text Description Specifies a classname for an element Specifies a unique id for an element Specifies an inline style for an element Specifies extra information about an element

Language Attributes
Not valid in base, br, frame, frameset, hr, iframe, param, and script elements. Attribute dir Value ltr rtl language_code Description Specifies the text direction for the content in an element

lang

Specifies a language code for the content in an element. Language code reference Specifies a language code for the content in an element, in XHTML documents. Language code reference

xml:lang

language_code

Keyboard Attributes
Attribute accesskey tabindex Value character number Description Specifies a keyboard shortcut to access an element Specifies the tab order of an element

HTML Headings
Headings are important in HTML documents.

HTML Headings
Headings are defined with the <h1> to <h6> tags. <h1> defines the most important heading. <h6> defines the least important heading.

Example
<h1>This is a heading</h1> <h2>This is a heading</h2> <h3>This is a heading</h3>

Headings Are Important


Use HTML headings for headings only. Don't use headings to make text BIG or bold. Search engines use your headings to index the structure and content of your web pages. Since users may skim your pages by its headings, it is important to use headings to show the document structure. H1 headings should be used as main headings, followed by H2 headings, then the less important H3 headings, and so on.

HTML Lines
The <hr /> tag creates a horizontal line in an HTML page. The hr element can be used to separate content:

Example
<p>This is a paragraph</p> <hr /> <p>This is a paragraph</p> <hr /> <p>This is a paragraph</p>

Headings How to display headings in an HTML document.

<html> <body> <h1>This is heading 1</h1> <h2>This is heading 2</h2> <h3>This is heading 3</h3> <h4>This is heading 4</h4> <h5>This is heading 5</h5> <h6>This is heading 6</h6> </body> </html>

This is heading 1

This is heading 2
8

This is heading 3 This is heading 4 This is heading 5 This is heading

HTML Comments
Comments can be inserted into the HTML code to make it more readable and understandable. Comments are ignored by the browser and are not displayed. Comments are written like this:

Example
<!-- This is a comment -->

HTML Tip - How to View HTML Source


Have you ever seen a Web page and wondered "Hey! How did they do that?" To find out, right-click in the page and select "View Source" (IE) or "View Page Source" (Firefox), or similar for other browsers. This will open a window containing the HTML code of the page Hidden comments How to insert comments in the HTML source code.

<html> <body> <!--This comment will not be displayed--> <p>This is a regular paragraph</p> </body> </html>

This is a regular paragraph


Horizontal lines How to insert a horizontal line.

<html> <body> <p>The hr tag defines a horizontal rule:</p> 9

<hr /> <p>This is a paragraph</p> <hr /> <p>This is a paragraph</p> <hr /> <p>This is a paragraph</p> </body> </html>

The hr tag defines a horizontal rule:

This is a paragraph

This is a paragraph

This is a paragraph

HTML Tag Reference


W3Schools' tag reference contains additional information about these tags and their attributes. You will learn more about HTML tags and attributes in the next chapters of this tutorial. Tag <html> <body> <h1> to <h6> <hr /> <!--> Description Defines an HTML document Defines the document's body Defines HTML headings Defines a horizontal line Defines a comment

10

HTML Paragraphs
HTML documents are divided into paragraphs.

HTML Paragraphs
Paragraphs are defined with the <p> tag.

Example
<p>This is a paragraph</p> <p>This is another paragraph</p>

Don't Forget the End Tag


Most browsers will display HTML correctly even if you forget the end tag:

Example
<p>This is a paragraph <p>This is another paragraph

The example above will work in most browsers, but don't rely on it. Forgetting the end tag can produce unexpected results or errors. Note: Future version of HTML will not allow you to skip end tags. HTML paragraphs How HTML paragraphs are displayed in a browser.

html> <body> <p>This is a paragraph.</p> <p>This is a paragraph.</p> <p>This is a paragraph.</p> </body> </html>

This is a paragraph. This is a paragraph. This is a paragraph.


11

HTML Line Breaks


Use the <br /> tag if you want a line break (a new line) without starting a new paragraph:

Example
<p>This is<br />a para<br />graph with line breaks</p>

The <br /> element is an empty HTML element. It has no end tag.

<br> or <br />


In XHTML, XML, and future versions of HTML, HTML elements with no end tag (closing tag) are not allowed. Even if <br> works in all browsers, writing <br /> instead is more future proof.

HTML Output - Useful Tips


You cannot be sure how HTML will be displayed. Large or small screens, and resized windows will create different results. With HTML, you cannot change the output by adding extra spaces or extra lines in your HTML code. The browser will remove extra spaces and extra lines when the page is displayed. Any number of lines count as one line, and any number of spaces count as one space. Line breaks The use of line breaks in an HTML document.

<html> <body> <p>This is<br />a para<br />graph with line breaks</p> </body> </html>

This is a para graph with line breaks


Poem problems Some problems with HTML formatting.

<html> <body> 12

<p> My Bonnie lies over the ocean.

My Bonnie lies over the sea.

My Bonnie lies over the ocean.

Oh, bring back my Bonnie to me. </p>

<p>Note that your browser ignores the layout!</p> </body> </html>

My Bonnie lies over the ocean. My Bonnie lies over the sea. My Bonnie lies over the ocean. Oh, bring back my Bonnie to me. Note that your browser ignores the layout!
More paragraphs The default behaviors of paragraphs.

<html> <body> <p> This paragraph contains a lot of lines in the source code, but the browser ignores it. </p> <p> This paragraph contains a lot of spaces in the source code, but the browser ignores it. </p> <p> The number of lines in a paragraph depends on the size of your browser window. If you resize the browser window, the number of lines in this paragraph will change. 13

</p> </body> </html>

This paragraph contains a lot of lines in the source code, but the browser ignores it. This paragraph contains a lot of spaces in the source code, but the browser ignores it. The number of lines in a paragraph depends on the size of your browser window. If you resize the browser window, the number of lines in this paragraph will change.

HTML Text Formatting


HTML Text Formatting
This text is bold This text is big This text is italic
This is computer output

This is subscript and

superscript

HTML Formatting Tags


HTML uses tags like <b> and <i> for formatting output, like bold or italic text. These HTML tags are called formatting tags (look at the bottom of this page for a complete reference). Often <strong> renders as <b>, and <em> renders as <i>. However, there is a difference in the meaning of these tags: <b> or <i> defines bold or italic text only. <strong> or <em> means that you want the text to be rendered in a way that the user understands as "important". Today, all major browsers render strong as bold and em as italics. However, if a browser one day wants to make a text highlighted with the strong feature, it might be cursive for example and not bold!

14

Text formatting How to format text in an HTML document.

<body> <p><b>This text is bold</b></p> <p><strong>This text is strong</strong></p> <p><big>This text is big</big></p> <p><em>This text is emphasized</em></p> <p><i>This text is italic</i></p> <p><small>This text is small</small></p> <p>This is<sub> subscript</sub> and <sup>superscript</sup></p> </body> </html>

This text is bold This text is strong

This text is big


This text is emphasized This text is italic
This text is small

This is subscript and superscript


Preformatted text How to control the line breaks and spaces with the pre tag.

<html> <body> <pre> This is preformatted text. It preserves both spaces and line breaks. </pre> <p>The pre tag is good for displaying computer code:</p> <pre> for i = 1 to 10 print i next i </pre> 15

</body> </html>
This is preformatted text. It preserves both spaces and line breaks.

The pre tag is good for displaying computer code:


for i = 1 to 10 print i next i

"Computer output" tags How different "computer output" tags will be displayed.

<html> <body> <code>Computer code</code> <br /> <kbd>Keyboard input</kbd> <br /> <tt>Teletype text</tt> <br /> <samp>Sample text</samp> <br /> <var>Computer variable</var> <br /> <p><b>Note:</b> These tags are often used to display computer/programming code.</p> </body> </html>
Computer code Keyboard input Teletype text

Sample text Computer variable Note: These tags are often used to display computer/programming code.

16

Address How to define contact information for the author/owner of an HTML document.

<html> <body> <address> Written by W3Schools.com<br /> <a href="mailto:us@example.org">Email us</a><br /> Address: Box 564, Disneyland<br /> Phone: +12 34 56 78 </address> </body> </html>

Written by W3Schools.com Email us Address: Box 564, Disneyland Phone: +12 34 56 78


Abbreviations and acronyms How to handle abbreviations and acronyms.

<html> <body>

<p>The <abbr title="World Health Organization">WHO</abbr> was founded in 1948.</p> <p>Can I get this <acronym title="as soon as possible">ASAP</acronym>?</p> <p>The title attribute is used to show the spelled-out version when holding the mouse pointer over the acronym or abbreviation.</p> </body> </html>

The WHO was founded in 1948. Can I get this ASAP? The title attribute is used to show the spelled-out version when holding the mouse pointer over the acronym or abbreviation.

17

Text direction How to change the text direction.

<html> <body> <p> If your browser supports bi-directional override (bdo), the next line will be written from the right to the left (rtl): </p> <bdo dir="rtl"> Here is some Hebrew text </bdo> </body> </html>

If your browser supports bi-directional override (bdo), the next line will be written from the right to the left (rtl): Here is some Hebrew text
Quotations How to handle long and short quotations.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <body> A long quotation: <blockquote> This is a long quotation. This is a long quotation. This is a long quotation. This is a long quotation. This is a long quotation. </blockquote> <p><b>Note:</b> The browser inserts white space before and after a blockquote element. It also inserts margins.</p> A short quotation: <q>This is a short quotation</q> <p><b>Note:</b> The browser inserts quotation marks around the short quotation.</p> </body> </html>

18

A long quotation: This is a long quotation. This is a long quotation. This is a long quotation. This is a long quotation. This is a long quotation. Note: The browser inserts white space before and after a blockquote element. It also inserts margins. A short quotation: This is a short quotation Note: The browser inserts quotation marks around the short quotation.
Deleted and inserted text How to mark deleted and inserted text.

<html> <body> <p>My favorite color is <del>blue</del> <ins>red</ins>!</p> <p>Notice that browsers will strikethrough deleted text and underline inserted text.</p> </body> </html>

My favorite color is blue red! Notice that browsers will strikethrough deleted text and underline inserted text.

HTML Text Formatting Tags


Tag <b> <big> <em> <i> <small> <strong> <sub> <sup> Description Defines bold text Defines big text Defines emphasized text Defines italic text Defines small text Defines strong text Defines subscripted text Defines superscripted text

19

<ins> <del>

Defines inserted text Defines deleted text

HTML "Computer Output" Tags


Tag <code> <kbd> <samp> <tt> <var> <pre> Description Defines computer code text Defines keyboard text Defines sample computer code Defines teletype text Defines a variable Defines preformatted text

HTML Citations, Quotations, and Definition Tags


Tag <abbr> <acronym> <address> <bdo> <blockquote> <q> <cite> <dfn> Description Defines an abbreviation Defines an acronym Defines contact information for the author/owner of a document Defines the text direction Defines a long quotation Defines a short quotation Defines a citation Defines a definition term

20

The HTML <font> Tag Should NOT be Used


The <font> tag is deprecated in HTML 4, and removed from HTML5. The World Wide Web Consortium (W3C) has removed the <font> tag from its recommendations. In HTML 4, style sheets (CSS) should be used to define the layout and display properties for many HTML elements. The example below shows how the HTML could look by using the <font> tag:

Example
<p> <font size="5" face="arial" color="red"> This paragraph is in Arial, size 5, and in red text color. </font> </p> <p> <font size="3" face="verdana" color="blue"> This paragraph is in Arial, size 5, and in red text color. </font> </p>
Try it yourself

The Right Way to Do It - With Styles


Set the font of text This example demonstrates how to set the font of a text.

<html> <body> <h1 style="font-family:verdana">This is a heading</h1> <p style="font-family:courier">This is a paragraph.</p> </body> </html>

This is a heading
This is a paragraph.
Set the font size of text This example demonstrates how to set the font size of a text.

<html> <body> 21

<h1 style="font-size:200%">This is a heading</h1> <p style="font-size:110%">This is a paragraph.</p> </body> </html>

This is a heading
This is a paragraph.
Set the font color of text This example demonstrates how to set the color of a text.

<html> <body> <h1 style="color:blue">This is a heading</h1> <p style="color:red">This is a paragraph.</p> </body> </html>

This is a heading
This is a paragraph.
Set the font, font size, and font color of text This example demonstrates how to set the font, font size, and font color of a text. <html> <body> <p style="font-family:verdana;font-size:110%;color:green"> This is a paragraph with some text in it. This is a paragraph with some text in it. This is a paragraph with some text in it. This is a paragraph with some text in it. </p> </body> </html>

This is a paragraph with some text in it. This is a paragraph with some text in it. This is a paragraph with some text in it. This is a paragraph with some text in it.

HTML Styles - CSS


22

CSS is used to style HTML elements.

Look! Styles and colors


This text is in Verdana and red This text is in Times and blue

This text is 30 pixels high


Styling HTML with CSS
CSS was introduced together with HTML 4, to provide a better way to style HTML elements. CSS can be added to HTML in the following ways:

in separate style sheet files (CSS files) in the style element in the HTML head section in the style attribute in single HTML elements

Using the HTML Style Attribute


It is time consuming and not very practical to style HTML elements using the style attribute. The preferred way to add CSS to HTML, is to put CSS syntax in separate CSS files. However, in this HTML tutorial we will introduce you to CSS using the style attribute. This is done to simplify the examples. It also makes it easier for you to edit the code and try it yourself.

HTML Style Example - Background Color


The background-color property defines the background color for an element:

Example
<html> <body style="background-color:yellow;"> <h2 style="background-color:red;">This is a heading</h2> <p style="background-color:green;">This is a paragraph.</p> </body> </html>

23

The background-color property makes the "old" bgcolor attribute obsolete.

HTML Style Example - Font, Color and Size


The font-family, color, and font-size properties defines the font, color, and size of the text in an element:

Example
<html> <body> <h1 style="font-family:verdana;">A heading</h1> <p style="font-family:arial;color:red;font-size:20px;">A paragraph.</p> </body> </html>

The font-family, color, and font-size properties make the old <font> tag obsolete.

HTML Style Example - Text Alignment


The text-align property specifies the horizontal alignment of text in an element:

Example
<html> <body> <h1 style="text-align:center;">Center-aligned heading</h1> <p>This is a paragraph.</p> </body> </html>

The text-align property makes the old <center> tag obsolete.

Try it yourself: Centered heading the old way

<html> <body> <center><h1>This is a heading</h1></center> 24

<p>The heading above is aligned to the center of this page.</p> </body> </html>

This is a heading
The heading above is aligned to the center of this page.

Deprecated Tags and Attributes


In HTML 4, several tags and attributes were deprecated. Deprecated means that they will not be supported in future versions of HTML. The message is clear: Avoid using deprecated tags and attributes! These tags and attributes should be avoided: Tags <center> <font> and <basefont> <s> and <strike> <u> Attributes align bgcolor color Description Deprecated. Defines centered content Deprecated. Defines HTML fonts Deprecated. Defines strikethrough text Deprecated. Defines underlined text Description Deprecated. Defines the alignment of text Deprecated. Defines the background color Deprecated. Defines the text color

For all of the above: Use styles instead!

HTML Links
Links are found in nearly all Web pages. Links allow users to click their way from page to page. 25

HTML links How to create links in an HTML document.

<html> <body> <p> <a href="default.asp">HTML Tutorial</a> This is a link to a page on this website. </p> <p> <a href="http://www.google.com/">Google</a> This is a link to a website on the World Wide Web. </p> </body> </html>

HTML Tutorial This is a link to a page on this website. Google This is a link to a website on the World Wide Web.

HTML Hyperlinks (Links)


A hyperlink (or link) is a word, group of words, or image that you can click on to jump to a new document or a new section within the current document. When you move the cursor over a link in a Web page, the arrow will turn into a little hand. Links are specified in HTML using the <a> tag. The <a> tag can be used in two ways: 1. 2. To create a link to another document, by using the href attribute To create a bookmark inside a document, by using the name attribute

HTML Link Syntax


The HTML code for a link is simple. It looks like this:

<a href="url">Link text</a>

The href attribute specifies the destination of a link.

Example
<a href="http://www.w3schools.com/">Visit W3Schools</a>

26

which will display like this: Visit W3Schools Clicking on this hyperlink will send the user to W3Schools' homepage. Tip: The "Link text" doesn't have to be text. You can link from an image or any other HTML element.

HTML Links - The target Attribute


The target attribute specifies where to open the linked document. The example below will open the linked document in a new browser window or a new tab:

Example
<a href="http://www.w3schools.com/" target="_blank">Visit W3Schools!</a>

HTML Links - The name Attribute


The name attribute specifies the name of an anchor. The name attribute is used to create a bookmark inside an HTML document. Note: The upcoming HTML5 standard suggest using the id attribute instead of the name attribute for specifying the name of an anchor. Using the id attribute actually works also for HTML4 in all modern browsers. Bookmarks are not displayed in any special way. They are invisible to the reader.

Example
A named anchor inside an HTML document:

<a name="tips">Useful Tips Section</a>

Create a link to the "Useful Tips Section" inside the same document:

<a href="#tips">Visit the Useful Tips Section</a>

Or, create a link to the "Useful Tips Section" from another page:

<a href="http://www.w3schools.com/html_links.htm#tips"> Visit the Useful Tips Section</a>

27

Basic Notes - Useful Tips


Note: Always add a trailing slash to subfolder references. If you link like this: href="http://www.w3schools.com/html", you will generate two requests to the server, the server will first add a slash to the address, and then create a new request like this: href="http://www.w3schools.com/html/". Tip: Named anchors are often used to create "table of contents" at the beginning of a large document. Each chapter within the document is given a named anchor, and links to each of these anchors are put at the top of the document. Tip: If a browser does not find the named anchor specified, it goes to the top of the document. No error occurs. An image as a link How to use an image as a link.

<html> <body> <p>Create a link of an image: <a href="default.asp"> <img src="smiley.gif" alt="HTML tutorial" width="32" height="32" /> </a></p> <p>No border around the image, but still a link: <a href="default.asp"> <img border="0" src="smiley.gif" alt="HTML tutorial" width="32" height="32" /> </a></p> </body> </html>

Create a link of an image: No border around the image, but still a link:

Link to a location on the same page How to link to a bookmark.

<html> <body> <p> <a href="#C4">See also Chapter 4.</a> </p> 28

<h2>Chapter 1</h2> <p>This chapter explains ba bla bla</p> <h2>Chapter 2</h2> <p>This chapter explains ba bla bla</p> <h2>Chapter 3</h2> <p>This chapter explains ba bla bla</p> <h2><a name="C4">Chapter 4</a></h2> <p>This chapter explains ba bla bla</p> <h2>Chapter 5</h2> <p>This chapter explains ba bla bla</p> <h2>Chapter 6</h2> <p>This chapter explains ba bla bla</p> <h2>Chapter 7</h2> <p>This chapter explains ba bla bla</p> <h2>Chapter 8</h2> <p>This chapter explains ba bla bla</p> <h2>Chapter 9</h2> <p>This chapter explains ba bla bla</p> <h2>Chapter 10</h2> <p>This chapter explains ba bla bla</p> <h2>Chapter 11</h2> <p>This chapter explains ba bla bla</p> <h2>Chapter 12</h2> <p>This chapter explains ba bla bla</p> <h2>Chapter 13</h2> <p>This chapter explains ba bla bla</p> <h2>Chapter 14</h2> <p>This chapter explains ba bla bla</p> <h2>Chapter 15</h2> <p>This chapter explains ba bla bla</p> <h2>Chapter 16</h2> <p>This chapter explains ba bla bla</p> <h2>Chapter 17</h2> 29

<p>This chapter explains ba bla bla</p> </body> </html>

See also Chapter 4.

Chapter 1
This chapter explains ba bla bla

Chapter 2
This chapter explains ba bla bla

Chapter 3
This chapter explains ba bla bla

Chapter 4
This chapter explains ba bla bla

Chapter 5
This chapter explains ba bla bla

Chapter 6
This chapter explains ba bla bla

Chapter 7
This chapter explains ba bla bla

Chapter 8
This chapter explains ba bla bla

Chapter 9
This chapter explains ba bla bla
30

Chapter 10
This chapter explains ba bla bla

Chapter 11
This chapter explains ba bla bla

Chapter 12
This chapter explains ba bla bla

Chapter 13
This chapter explains ba bla bla

Chapter 14
This chapter explains ba bla bla

Chapter 15
This chapter explains ba bla bla

Chapter 16
This chapter explains ba bla bla

Chapter 17
This chapter explains ba bla bla

Break out of a frame How to break out of a frame (if your site is locked in a frame).

<html> <body> <p>Locked in a frame?</p> <a href="http://www.w3schools.com/" target="_top">Click here!</a>

31

</body> </html>

Locked in a frame? Click here!


Create a mailto link How to link to a mail message (will only work if you have mail installed).

<html> <body> <p> This is an email link: <a href="mailto:someone@example.com?Subject=Hello%20again"> Send Mail</a> </p> <p> <b>Note:</b> Spaces between words should be replaced by %20 to ensure that the browser will display the text properly. </p> </body> </html>

This is an email link: Send Mail Note: Spaces between words should be replaced by %20 to ensure that the browser will display the text properly.

Create a mailto link 2 Another mailto link.

<html> <body> <p> This is another mailto link: 32

<a href="mailto:someone@example.com?cc=someoneelse@example.com&bcc=andsomeoneelse@exampl e.com&subject=Summer%20Party&body=You%20are%20invited%20to%20a%20big%20summer%20part y!">Send mail!</a> </p> <p> <b>Note:</b> Spaces between words should be replaced by %20 to ensure that the browser will display the text properly. </p> </body> </html>

This is another mailto link: Send mail! Note: Spaces between words should be replaced by %20 to ensure that the browser will display the text properly.

HTML Images
Example

33

Norwegian Mountain Trip

Try it yourself

Insert images How to insert images into an HTML document.

<html> <body> <p> An image: <img src="smiley.gif" alt="Smiley face" width="32" height="32" /> </p> <p> A moving image: <img src="hackanm.gif" alt="Computer man" width="48" height="48" /> </p> <p> Note that the syntax of inserting a moving image is no different from a non-moving image. </p> </body> </html>

An image:
34

A moving image: Note that the syntax of inserting a moving image is no different from a non-moving non image
Insert images from different locations How to insert an image from another folder or another server.

<html> <body> <p>An image from another folder:</p> <img src="/images/chrome.gif" ges/chrome.gif" alt="Google Chrome" width="33" height="32" /> <p>An image from W3Schools:</p> <img src="http://www.w3schools.com/images/w3schools_green.jpg" alt="W3Schools.com" width="104" height="142" /> </body> </html>

An image from another folder:

An image from W3Schools:

(You can find more examples at the bottom of this page).

HTML Images - The <img> Tag and the Src Attribute


In HTML, images are defined with the <img> tag. The <img> tag is empty, which means that it contains attributes only, and has no closing tag.

35

To display an image on a page, you need to use the src attribute. Src stands for "source". The value of the src attribute is the URL of the image you want to display. Syntax for defining an image:

<img src="url" alt="some_text"/>

The URL points to the location where the image is stored. An image named "boat.gif", located in the "images" directory on "www.w3schools.com" has the URL: http://www.w3schools.com/images/boat.gif. The browser displays the image where the <img> tag occurs in the document. If you put an image tag between two paragraphs, the browser shows the first paragraph, then the image, and then the second paragraph.

HTML Images - The Alt Attribute


The required alt attribute specifies an alternate text for an image, if the image cannot be displayed. The value of the alt attribute is an author-defined text:

<img src="boat.gif" alt="Big Boat" />

The alt attribute provides alternative information for an image if a user for some reason cannot view it (because of slow connection, an error in the src attribute, or if the user uses a screen reader).

HTML Images - Set Height and Width of an Image


The height and width attributes are used to specify the height and width of an image. The attribute values are specified in pixels by default:

<img src="pulpit.jpg" alt="Pulpit rock" width="304" height="228" />

Tip: It is a good practice to specify both the height and width attributes for an image. If these attributes are set, the space required for the image is reserved when the page is loaded. However, without these attributes, the browser does not know the size of the image. The effect will be that the page layout will change during loading (while the images load).

Basic Notes - Useful Tips


Note: If an HTML file contains ten images - eleven files are required to display the page right. Loading images take time, so my best advice is: Use images carefully.

36

Note: When a web page is loaded, it is the browser, at that moment, that actually gets the image from a web server and inserts it into the page. Therefore, make sure that the images actually stay in the same spot in relation to the web page, otherwise your visitors will get a broken link icon. The broken link icon is shown if the browser cannot find the image. IMAGES MIDDLE THE TEXT Aligning images How to align an image within the text.

<html> <body> <p>An image <img src="smiley.gif" alt="Smiley face" align="bottom" width="32" height="32" /> with align="bottom".</p> <p>An image <img src="smiley.gif" alt="Smiley face" align="middle" width="32" height="32" /> with align="middle".</p> <p>An image <img src="smiley.gif" alt="Smiley face" align="top" width="32" height="32" /> with align="top".</p> <p><b>Tip:</b> align="bottom" is default!</p> <p><img src="smiley.gif" alt="Smiley face" width="32" height="32" /> An image before the text.</p> <p>An image after the text. <img src="smiley.gif" alt="Smiley face" width="32" height="32" /></p> </body> </html>

An image An image An image

with align="bottom". with align="middle". with align="top".

Tip: align="bottom" is default! An image before the text.

37

Let the image float How to let an image float to the left or right of a paragraph.

<html> <body> <p> <img src="smiley.gif" alt="Smiley face" align="left" width="32" height="32" /> A paragraph with an image. The align attribute of the image is set to "left". The image will float to the left of this text. </p> <p> <img src="smiley.gif" alt="Smiley face" align="right" width="32" height="32" /> A paragraph with an image. The align attribute of the image is set to "right". The image will float to the right of this text. </p> </body> </html>

A paragraph with an image. The align attribute of the image is set to "left". The image will float to the left of this text. A paragraph with an image. The align attribute of the image is set to "right". The image will float to the right of this text.
Make a hyperlink of an image How to use an image as a link.

<html> <body> <p>Create a link of an image: <a href="default.asp"> <img src="smiley.gif" alt="HTML tutorial" width="32" height="32" /> </a></p> <p>No border around the image, but still a link: <a href="default.asp"> <img border="0" src="smiley.gif" alt="HTML tutorial" width="32" height="32" /> </a></p> </body> </html>

Create a link of an image:

38

No border around the image, but still a link:


Create an image map How to create an image map, with clickable regions. Each of the regions is a hyperlink.

<html> <body> <p>Click on the sun or on one of the planets to watch it closer:</p> <img src="planets.gif" width="145" height="126" alt="Planets" usemap="#planetmap" /> <map name="planetmap"> <area shape="rect" coords="0,0,82,126" alt="Sun" href="sun.htm" /> <area shape="circle" coords="90,58,3" alt="Mercury" href="mercur.htm" /> <area shape="circle" coords="124,58,8" alt="Venus" href="venus.htm" /> </map> </body> </html>

Click on the sun or on one of the planets to watch it closer:

39

HTML Tables
HTML Tables
Apples Bananas Oranges Other 44% 23% 13% 10%

Tables How to create tables in an HTML document.

<html> <body> <p> Each table starts with a table tag. Each table row starts with a tr tag. Each table data starts with a td tag. </p> <h4>One column:</h4> <table border="1"> <tr> <td>100</td> </tr> </table> <h4>One row and three columns:</h4> <table border="1"> <tr> <td>100</td> <td>200</td> <td>300</td> </tr> </table> <h4>Two rows and three columns:</h4> <table border="1"> <tr> <td>100</td> <td>200</td> <td>300</td> </tr> 40

<tr> <td>400</td> <td>500</td> <td>600</td> </tr> </table> </body> </html>

Each table starts with a table tag. Each table row starts with a tr tag. Each table data starts with a td tag.
One column: 100

One row and three columns: 100 200 300

Two rows and three columns: 100 200 300 400 500 600

Table borders How to specify different table borders.

<html> <body> <h4>With a normal border:</h4> <table border="1"> <tr> <td>First</td> <td>Row</td> </tr> <tr> <td>Second</td> <td>Row</td> </tr> </table> <h4>With a thick border:</h4> <table border="8"> <tr> <td>First</td> 41

<td>Row</td> </tr> <tr> <td>Second</td> <td>Row</td> </tr> </table> <h4>With a very thick border:</h4> <table border="15"> <tr> <td>First</td> <td>Row</td> </tr> <tr> <td>Second</td> <td>Row</td> </tr> </table> </body> </html> With a normal border: First Row

Second Row

With a thick border: First Row

Second Row

With a very thick border: First Row

Second Row

(You can find more examples at the bottom of this page).

42

HTML Tables
Tables are defined with the <table> tag. A table is divided into rows (with the <tr> tag), and each row is divided into data cells (with the <td> tag). td stands for "table data," and holds the content of a data cell. A <td> tag can contain text, links, images, lists, forms, other tables, etc.

Table Example
<table border="1"> <tr> <td>row 1, cell 1</td> <td>row 1, cell 2</td> </tr> <tr> <td>row 2, cell 1</td> <td>row 2, cell 2</td> </tr> </table>

How the HTML code above looks in a browser: row 1, cell 1 row 1, cell 2 row 2, cell 1 row 2, cell 2

HTML Tables and the Border Attribute


If you do not specify a border attribute, the table will be displayed without borders. Sometimes this can be useful, but most of the time, we want the borders to show. To display a table with borders, specify the border attribute:

<table border="1"> <tr> <td>Row 1, cell 1</td> <td>Row 1, cell 2</td> </tr> </table>

43

HTML Table Headers


Header information in a table are defined with the <th> tag. All major browsers will display the text in the <th> element as bold and centered.

<table border="1"> <tr> <th>Header 1</th> <th>Header 2</th> </tr> <tr> <td>row 1, cell 1</td> <td>row 1, cell 2</td> </tr> <tr> <td>row 2, cell 1</td> <td>row 2, cell 2</td> </tr> </table>

How the HTML code above looks in your browser: Header 1 Header 2

row 1, cell 1 row 1, cell 2 row 2, cell 1 row 2, cell 2

Tables without borders How to create tables without borders.

<html> <body> <h4>This table has no borders:</h4> <table> <tr> <td>100</td> <td>200</td> <td>300</td> </tr> <tr> <td>400</td> <td>500</td> <td>600</td> </tr> </table> 44

<h4>And this table has no borders:</h4> <table border="0"> <tr> <td>100</td> <td>200</td> <td>300</td> </tr> <tr> <td>400</td> <td>500</td> <td>600</td> </tr> </table> </body> </html> This table has no borders: 100 200 300 400 500 600

And this table has no borders: 100 200 300 400 500 600

Table headers How to create table headers.

<html> <body> <h4>Table headers:</h4> <table border="1"> <tr> <th>Name</th> <th>Telephone</th> <th>Telephone</th> </tr> <tr> <td>Bill Gates</td> <td>555 77 854</td> <td>555 77 855</td> </tr> </table> 45

<h4>Vertical headers:</h4> <table border="1"> <tr> <th>First Name:</th> <td>Bill Gates</td> </tr> <tr> <th>Telephone:</th> <td>555 77 854</td> </tr> <tr> <th>Telephone:</th> <td>555 77 855</td> </tr> </table> </body> </html> Table headers: Name Telephone Telephone

Bill Gates 555 77 854 555 77 855

Vertical headers: First Name: Bill Gates Telephone: 555 77 854 Telephone: 555 77 855

Table with a caption How to add a caption to a table.

<body> <table border="1"> <caption>Monthly savings</caption> <tr> <th>Month</th> <th>Savings</th> </tr> <tr> <td>January</td> <td>$100</td> 46

</tr> <tr> <td>February</td> <td>$50</td> </tr> </table> </body> </html>

Monthly savings Month Savings January $100 February $50


Table cells that span more than one row/column How to define table cells that span more than one row or one column.

<html> <body> <h4>Cell that spans two columns:</h4> <table border="1"> <tr> <th>Name</th> <th colspan="2">Telephone</th> </tr> <tr> <td>Bill Gates</td> <td>555 77 854</td> <td>555 77 855</td> </tr> </table> <h4>Cell that spans two rows:</h4> <table border="1"> <tr> <th>First Name:</th> <td>Bill Gates</td> </tr> <tr> <th rowspan="2">Telephone:</th> <td>555 77 854</td> </tr> <tr> <td>555 77 855</td> </tr> </table> </body> 47

</html> Cell that spans two columns: Name Telephone

Bill Gates 555 77 854 555 77 855

Cell that spans two rows: First Name: Bill Gates 555 77 854 Telephone: 555 77 855

Tags inside a table How to display elements inside other elements.

<html> <body> <table border="1"> <tr> <td> <p>This is a paragraph</p> <p>This is another paragraph</p> </td> <td>This cell contains a table: <table border="1"> <tr> <td>A</td> <td>B</td> </tr> <tr> <td>C</td> <td>D</td> </tr> </table> </td> </tr> <tr> <td>This cell contains a list <ul> <li>apples</li> <li>bananas</li> <li>pineapples</li> </ul> </td> 48

<td>HELLO</td> </tr> </table> </body> </html>

This is a paragraph

This cell contains a table: AB

This is another paragraph C D This cell contains a list


apples bananas pineapples

HELLO

Cell padding How to use cellpadding to create more white space between the cell content and its borders.

<html> <body> <h4>Without cellpadding:</h4> <table border="1"> <tr> <td>First</td> <td>Row</td> </tr> <tr> <td>Second</td> <td>Row</td> </tr> </table> <h4>With cellpadding:</h4> <table border="1" cellpadding="10"> <tr> <td>First</td> <td>Row</td> </tr> <tr> <td>Second</td> <td>Row</td> </tr> </table> </body> 49

</html> Without cellpadding: First Row

Second Row

With cellpadding: First Row

Second

Row

Cell spacing How to use cellspacing to increase the distance between the cells.

<html> <body> <h4>Without cellspacing:</h4> <table border="1"> <tr> <td>First</td> <td>Row</td> </tr> <tr> <td>Second</td> <td>Row</td> </tr> </table> <h4>With cellspacing:</h4> <table border="1" cellspacing="10"> <tr> <td>First</td> <td>Row</td> </tr> <tr> <td>Second</td> <td>Row</td> </tr> </table> </body> </html> 50

Without cellspacing: First Row

Second Row

With cellspacing: First Row

Second Row

The frame attribute How to use the "frame" attribute to control the borders around the table.

<html> <body> <p> <b>Note:</b> If you see no frames/borders around the tables below, your browser does not support the "frame" attribute. </p> <h4>With frame="border":</h4> <table frame="border"> <tr> <td>First</td> <td>Row</td> </tr> <tr> <td>Second</td> <td>Row</td> </tr> </table> <h4>With frame="box":</h4> <table frame="box"> <tr> <td>First</td> <td>Row</td> </tr> <tr> <td>Second</td> <td>Row</td> </tr> </table> 51

<h4>With frame="void":</h4> <table frame="void"> <tr> <td>First</td> <td>Row</td> </tr> <tr> <td>Second</td> <td>Row</td> </tr> </table> <h4>With frame="above":</h4> <table frame="above"> <tr> <td>First</td> <td>Row</td> </tr> <tr> <td>Second</td> <td>Row</td> </tr> </table> <h4>With frame="below":</h4> <table frame="below"> <tr> <td>First</td> <td>Row</td> </tr> <tr> <td>Second</td> <td>Row</td> </tr> </table> <h4>With frame="hsides":</h4> <table frame="hsides"> <tr> <td>First</td> <td>Row</td> </tr> <tr> <td>Second</td> <td>Row</td> </tr> </table> <h4>With frame="vsides":</h4> <table frame="vsides"> 52

<tr> <td>First</td> <td>Row</td> </tr> <tr> <td>Second</td> <td>Row</td> </tr> </table> <h4>With frame="lhs":</h4> <table frame="lhs"> <tr> <td>First</td> <td>Row</td> </tr> <tr> <td>Second</td> <td>Row</td> </tr> </table> <h4>With frame="rhs":</h4> <table frame="rhs"> <tr> <td>First</td> <td>Row</td> </tr> <tr> <td>Second</td> <td>Row</td> </tr> </table> </body> </html>

Note: If you see no frames/borders around the tables below, your browser does not support the "frame" attribute.
With frame="border": First Row

Second Row

With frame="box": First Row

53

Second Row

With frame="void": First Row

Second Row

With frame="above": First Row

Second Row

With frame="below": First Row

Second Row

With frame="hsides": First Row

Second Row

With frame="vsides": First Row

Second Row

With frame="lhs": First Row

Second Row

With frame="rhs": First Row

Second Row

54

HTML Table Tags


Tag <table> <th> <tr> <td> <caption> <colgroup> <col /> <thead> <tbody> <tfoot> Description Defines a table Defines a table header Defines a table row Defines a table cell Defines a table caption Defines a group of columns in a table, for formatting Defines attribute values for one or more columns in a table Groups the header content in a table Groups the body content in a table Groups the footer content in a table

HTML Lists
The most common HTML lists are ordered and unordered lists:

HTML Lists
An ordered list:
1. 2. 3. The first list item The second list item The third list item

An unordered list:

List item List item List item

Unordered list How to create an unordered list in an HTML document.

<html> <body> <h4>An Unordered List:</h4> <ul> <li>Coffee</li> <li>Tea</li> <li>Milk</li> </ul> </body> </html>

55

An Unordered List:

Coffee Tea Milk

Ordered list How to create an ordered list in an HTML document.

<html> <body> <h4>An Ordered List:</h4> <ol> <li>Coffee</li> <li>Tea</li> <li>Milk</li> </ol> </body> </html> An Ordered List: 1. Coffee 2. Tea 3. Milk

HTML Unordered Lists


An unordered list starts with the <ul> tag. Each list item starts with the <li> tag. The list items are marked with bullets (typically small black circles).

<ul> <li>Coffee</li> <li>Milk</li> </ul>

How the HTML code above looks in a browser:

Coffee Milk

56

HTML Ordered Lists


An ordered list starts with the <ol> tag. Each list item starts with the <li> tag. The list items are marked with numbers.

<ol> <li>Coffee</li> <li>Milk</li> </ol>

How the HTML code above looks in a browser: 1. 2. Coffee Milk

HTML Definition Lists


A definition list is a list of items, with a description of each item. The <dl> tag defines a definition list. The <dl> tag is used in conjunction with <dt> (defines the item in the list) and <dd> (describes the item in the list):

<dl> <dt>Coffee</dt> <dd>- black hot drink</dd> <dt>Milk</dt> <dd>- white cold drink</dd> </dl>

How the HTML code above looks in a browser: Coffee Milk - black hot drink - white cold drink

Basic Notes - Useful Tips


Tip: Inside a list item you can put text, line breaks, images, links, other lists, etc.

57

Different types of ordered lists Demonstrates different types of ordered lists.

<html> <body> <h4>Numbered list:</h4> <ol> <li>Apples</li> <li>Bananas</li> <li>Lemons</li> <li>Oranges</li> </ol> <h4>Letters list:</h4> <ol type="A"> <li>Apples</li> <li>Bananas</li> <li>Lemons</li> <li>Oranges</li> </ol> <h4>Lowercase letters list:</h4> <ol type="a"> <li>Apples</li> <li>Bananas</li> <li>Lemons</li> <li>Oranges</li> </ol> <h4>Roman numbers list:</h4> <ol type="I"> <li>Apples</li> <li>Bananas</li> <li>Lemons</li> <li>Oranges</li> </ol> <h4>Lowercase Roman numbers list:</h4> <ol type="i"> <li>Apples</li> <li>Bananas</li> <li>Lemons</li> <li>Oranges</li> </ol> </body> </html>

58

Numbered list: 1. 2. 3. 4. Apples Bananas Lemons Oranges

Letters list: A. B. C. D. Apples Bananas Lemons Oranges

Lowercase letters list: a. b. c. d. Apples Bananas Lemons Oranges

Roman numbers list: I. II. III. IV. Apples Bananas Lemons Oranges

Lowercase Roman numbers list: i. ii. iii. iv. Apples Bananas Lemons Oranges

59

Different types of unordered lists Demonstrates different types of unordered lists.

<html> <body> <h4>Disc bullets list:</h4> <ul type="disc"> <li>Apples</li> <li>Bananas</li> <li>Lemons</li> <li>Oranges</li> </ul> <h4>Circle bullets list:</h4> <ul type="circle"> <li>Apples</li> <li>Bananas</li> <li>Lemons</li> <li>Oranges</li> </ul> <h4>Square bullets list:</h4> <ul type="square"> <li>Apples</li> <li>Bananas</li> <li>Lemons</li> <li>Oranges</li> </ul> </body> </html> Disc bullets list:

Apples Bananas Lemons Oranges

Circle bullets list:


o o o o

Apples Bananas Lemons Oranges

Square bullets list: Apples 60

Bananas Lemons Oranges


Nested list Demonstrates how you can nest lists.

<html> <body> <h4>A nested List:</h4> <ul> <li>Coffee</li> <li>Tea <ul> <li>Black tea</li> <li>Green tea</li> </ul> </li> <li>Milk</li> </ul> </body> </html> A nested List:

Coffee Tea
o o

Black tea Green tea

Milk

Nested list 2 Demonstrates a more complicated nested list.

<html> <body> <h4>A nested List:</h4> <ul> <li>Coffee</li> <li>Tea <ul> <li>Black tea</li> <li>Green tea <ul> <li>China</li> <li>Africa</li> </ul> </li> 61

</ul> </li> <li>Milk</li> </ul> </body> </html> A nested List:


Coffee Tea
o o

Black tea Green tea China Africa

Milk

Definition list Demonstrates a definition list.

<html> <body> <h4>A Definition List:</h4> <dl> <dt>Coffee</dt> <dd>Black hot drink</dd> <dt>Milk</dt> <dd>White cold drink</dd> </dl> </body> </html>

A Definition List: Coffee Black hot drink Milk White cold drink

62

HTML List Tags


Tag <ol> <ul> <li> <dl> <dt> <dd> Description Defines an ordered list Defines an unordered list Defines a list item Defines a definition list Defines an item in a definition list Defines a description of an item in a definition list

HTML Forms and Input


HTML Forms are used to select different kinds of user input.
Create text fields How to create text fields. The user can write text in a text field.

<html> <body> <form action=""> First name: <input type="text" name="firstname" /><br /> Last name: <input type="text" name="lastname" /> </form> <p><b>Note:</b> The form itself is not visible. Also note that the default width of a text field is 20 characters.</p> </body> </html>

First name: Last name: Note: The form itself is not visible. Also note that the default width of a text field is 20 characters.

63

Create password field How to create a password field.

<html> <body> <form action=""> Username: <input type="text" name="user" /><br /> Password: <input type="password" name="password" /> </form> <p><b>Note:</b> The characters in a password field are masked (shown as asterisks or circles).</p> </body> </html>

Username: Password: Note: The characters in a password field are masked (shown as asterisks or circles).
(You can find more examples at the bottom of this page)

HTML Forms
HTML forms are used to pass data to a server. A form can contain input elements like text fields, checkboxes, radio-buttons, submit buttons and more. A form can also contain select lists, textarea, fieldset, legend, and label elements. The <form> tag is used to create an HTML form:

<form> . input elements . </form>

HTML Forms - The Input Element


The most important form element is the input element. The input element is used to select user information. An input element can vary in many ways, depending on the type attribute. An input element can be of type text field, checkbox, password, radio button, submit button, and more. The most used input types are described below.

64

Text Fields
<input type="text" /> defines a one-line input field that a user can enter text into:

<form> First name: <input type="text" name="firstname" /><br /> Last name: <input type="text" name="lastname" /> </form>

How the HTML code above looks in a browser:

First name: Last name: Note: The form itself is not visible. Also note that the default width of a text field is 20 characters.

Password Field
<input type="password" /> defines a password field:

<form> Password: <input type="password" name="pwd" /> </form>

How the HTML code above looks in a browser:

Password: Note: The characters in a password field are masked (shown as asterisks or circles).

Radio Buttons
<input type="radio" /> defines a radio button. Radio buttons let a user select ONLY ONE one of a limited number of choices:

<form> <input type="radio" name="sex" value="male" /> Male<br /> <input type="radio" name="sex" value="female" /> Female </form>

65

How the HTML code above looks in a browser:

Male Female

Checkboxes
<input type="checkbox" /> defines a checkbox. Checkboxes let a user select ONE or MORE options of a limited number of choices.

<form> <input type="checkbox" name="vehicle" value="Bike" /> I have a bike<br /> <input type="checkbox" name="vehicle" value="Car" /> I have a car </form>

How the HTML code above looks in a browser:

I have a bike I have a car

Submit Button
<input type="submit" /> defines a submit button. A submit button is used to send form data to a server. The data is sent to the page specified in the form's action attribute. The file defined in the action attribute usually does something with the received input:

<form name="input" action="html_form_action.asp" method="get"> Username: <input type="text" name="user" /> <input type="submit" value="Submit" /> </form>

How the HTML code above looks in a browser:


Submit

Username:

If you type some characters in the text field above, and click the "Submit" button, the browser will send your input to a page called "html_form_action.asp". The page will show you the received input.

66

Radio buttons How to create radio buttons.

<html> <body> <form action=""> <input type="radio" name="sex" value="male" /> Male<br /> <input type="radio" name="sex" value="female" /> Female </form> <p><b>Note:</b> When a user clicks on a radio-button, it becomes checked, and all other radio-buttons with equal name become unchecked.</p> </body> </html>

Male Female Note: When a user clicks on a radio-button, it becomes checked, and all other radio-buttons with equal name become unchecked.
Checkboxes How to create checkboxes. A user can select or unselect a checkbox.

<html> <body> <form action=""> <input type="checkbox" name="vehicle" value="Bike" /> I have a bike<br /> <input type="checkbox" name="vehicle" value="Car" /> I have a car </form> </body> </html>

I have a bike I have a car

67

Simple drop-down list How to create a simple drop-down list.

<html> <body> <form action=""> <select name="cars"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="fiat">Fiat</option> <option value="audi">Audi</option> </select> </form> </body> </html>
Volvo

Drop-down list with a pre-selected value How to create a drop-down list with a pre-selected value.

<html> <body> <form action=""> <select name="cars"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="fiat" selected="selected">Fiat</option> <option value="audi">Audi</option> </select> </form> </body> </html>
Fiat

68

Textarea How to create a multi-line text input control. In a text-area the user can write an unlimited number of characters.

<html> <body> <p> This example cannot be edited because our editor uses a textarea for input, and your browser does not allow a textarea inside a textarea. </p> <textarea rows=10 cols=30> The cat was playing in the garden. </textarea> </body> </html>

This example cannot be edited because our editor uses a textarea for input, and your browser does not allow a textarea inside a textarea.
The cat w as playing in the gard

Create a button How to create a button.

<html> <body> <form action=""> <input type="button" value="Hello world!"> </form> </body> </html>

69

Fieldset around form-data How to create a border around elements in a form.

<html> <body> <form action=""> <fieldset> <legend>Personal information:</legend> Name: <input type="text" size="30" /><br /> E-mail: <input type="text" size="30" /><br /> Date of birth: <input type="text" size="10" /> </fieldset> </form> </body> </html>

Personal information:Name: E-mail: Date of birth:

Form with text fields and a submit button How to create a form with two text fields and a submit button.

<html> <body> <form name="input" action="html_form_action.asp" method="get"> First name: <input type="text" name="FirstName" value="Mickey" /><br /> Last name: <input type="text" name="LastName" value="Mouse" /><br /> <input type="submit" value="Submit" /> </form> <p>If you click the "Submit" button, the form-data will be sent to a page called "html_form_action.asp".</p> </body> </html>

First name: Last name:


Submit

Mickey Mouse

70

If you click the "Submit" button, the form-data will be sent to a page called "html_form_action.asp".
Form with checkboxes How to create a form with two checkboxes and a submit button.

<html> <body> <form name="input" action="html_form_action.asp" method="get"> <input type="checkbox" name="vehicle" value="Bike" /> I have a bike<br /> <input type="checkbox" name="vehicle" value="Car" /> I have a car <br /><br /> <input type="submit" value="Submit" /> </form> <p>If you click the "Submit" button, the form-data will be sent to a page called "html_form_action.asp".</p> </body> </html>

I have a bike I have a car


Submit

If you click the "Submit" button, the form-data will be sent to a page called "html_form_action.asp".

Form with radio buttons How to create a form with two radio buttons, and a submit button.

<html> <body> <form name="input" action="html_form_action.asp" method="get"> <input type="radio" name="sex" value="male" /> Male<br /> <input type="radio" name="sex" value="female" /> Female<br /> <input type="submit" value="Submit" /> </form> <p>If you click the "Submit" button, the form-data will be sent to a page called "html_form_action.asp".</p> </body> </html> 71

Male Female
Submit

If you click the "Submit" button, the form-data will be sent to a page called "html_form_action.asp".
Send e-mail from a form How to send e-mail from a form.

<html> <body> <h3>Send e-mail to someone@example.com:</h3> <form action="MAILTO:someone@example.com" method="post" enctype="text/plain"> Name:<br /> <input type="text" name="name" value="your name" /><br /> E-mail:<br /> <input type="text" name="mail" value="your email" /><br /> Comment:<br /> <input type="text" name="comment" value="your comment" size="50" /> <br /><br /> <input type="submit" value="Send"> <input type="reset" value="Reset"> </form> </body> </html>

Send e-mail to someone@example.com: Name:


your name

E-mail:
your email

Comment:
your comment

Send

Reset

72

HTML Form Tags


Tag <form> <input /> <textarea> <label> <fieldset> <legend> <select> <optgroup> <option> <button> Description Defines an HTML form for user input Defines an input control Defines a multi-line text input control Defines a label for an input element Defines a border around elements in a form Defines a caption for a fieldset element Defines a select list (drop-down list) Defines a group of related options in a select list Defines an option in a select list Defines a push button

HTML Frames
With frames, several Web pages can be displayed in the same browser window. ATTENTION. Do not expect frames to be supported in future versions of HTML.
Vertical frameset How to make a vertical frameset with three different documents.

<html> <frameset cols="25%,50%,25%"> <frame src="frame_a.htm" /> <frame src="frame_b.htm" /> <frame src="frame_c.htm" /> </frameset> </html>

73

Horizontal frameset How to make a horizontal frameset with three different documents.

<html> <frameset rows="25%,50%,25%"> <frame src="frame_a.htm" /> <frame src="frame_b.htm" /> <frame src="frame_c.htm" /> </frameset> </html>
(You can find more examples at the bottom of this page)

HTML Frames
With frames, you can display more than one HTML document in the same browser window. Each HTML document is called a frame, and each frame is independent of the others. The disadvantages of using frames are:

Frames are not expected to be supported in future versions of HTML Frames are difficult to use. (Printing the entire page is difficult). The web developer must keep track of more HTML documents

The HTML frameset Element


The frameset element holds one or more frame elements. Each frame element can hold a separate document. The frameset element states HOW MANY columns or rows there will be in the frameset, and HOW MUCH percentage/pixels of space will occupy each of them.

The HTML frame Element


The <frame> tag defines one particular window (frame) within a frameset. In the example below we have a frameset with two columns. The first column is set to 25% of the width of the browser window. The second column is set to 75% of the width of the browser window. The document "frame_a.htm" is put into the first column, and the document "frame_b.htm" is put into the second column:

<frameset cols="25%,75%"> <frame src="frame_a.htm" /> <frame src="frame_b.htm" /> </frameset>

74

Note: The frameset column size can also be set in pixels (cols="200,500"), and one of the columns can be set to use the remaining space, with an asterisk (cols="25%,*").

Basic Notes - Useful Tips


Tip: If a frame has visible borders, the user can resize it by dragging the border. To prevent a user from doing this, you can add noresize="noresize" to the <frame> tag. Note: Add the <noframes> tag for browsers that do not support frames. Important: You cannot use the <body></body> tags together with the <frameset></frameset> tags! However, if you add a <noframes> tag containing some text for browsers that do not support frames, you will have to enclose the text in <body></body> tags! See how it is done in the first example below.

How to use the <noframes> tag How to use the <noframes> tag (for browsers that do not support frames).

<html> <frameset cols="25%,50%,25%"> <frame src="frame_a.htm" /> <frame src="frame_b.htm" /> <frame src="frame_c.htm" /> <noframes> <body>Your browser does not handle frames!</body> </noframes> </frameset> </html>

Nested framesets How to create a frameset with three documents, and how to mix them in rows and columns.

<html> <frameset rows="50%,50%"> <frame src="frame_a.htm" /> <frameset cols="25%,75%"> <frame src="frame_b.htm" /> <frame src="frame_c.htm" /> </frameset> </frameset> </html> 75

Frameset with noresize="noresize" How to use the noresize attribute. Move the mouse over the borders between the frames and notice that you cannot move the borders.

<html> <frameset rows="50%,50%"> <frame noresize="noresize" src="frame_a.htm" /> <frame noresize="noresize" src="frame_b.htm" /> </frameset> </html>
Navigation frame How to make a navigation frame. The navigation frame contains a list of links with the second frame as the target. The file called "tryhtml_contents.htm" contains three links. The source code of the links: <a href ="frame_a.htm" target ="showframe">Frame a</a><br> <a href ="frame_b.htm" target ="showframe">Frame b</a><br> <a href ="frame_c.htm" target ="showframe">Frame c</a> The second frame will show the linked document.

<html> <frameset cols="120,*"> <frame src="tryhtml_contents.htm" /> <frame src="frame_a.htm" name="showframe" /> </frameset> </html>
Jump to a specified section within a frame Two frames. One of the frames has a source to a specified section in a file. The specified section is made with <a name="C10"> in the "link.htm" file.

<html> <frameset cols="120,*"> <frame src="tryhtml_contents.htm" /> <frame src="frame_a.htm" name="showframe" /> </frameset> </html>

76

Jump to a specified section with frame navigation Two frames. The navigation frame (content.htm) to the left contains a list of links with the second frame (link.htm) as a target. The second frame shows the linked document. One of the links in the navigation frame is linked to a specified section in the target file. The HTML code in the file "content.htm" looks like this: <a href ="link.htm" target ="showframe">Link without Anchor</a><br><a href ="link.htm#C10" target ="showframe">Link with Anchor</a>.

<html> <frameset cols="120,*"> <frame src="tryhtml_contents.htm" /> <frame src="frame_a.htm" name="showframe" /> </frameset> </html>

HTML Frame Tags


Tag <frameset> <frame /> <noframes> Description Defines a set of frames Defines a sub window (a frame) Defines a noframe section for browsers that do not handle frames

HTML Iframes
An iframe is used to display a web page within a web page.
Syntax for adding an iframe:

<iframe src="URL"></iframe>

The URL points to the location of the separate page.

Iframe - Set Height and Width


The height and width attributes are used to specify the height and width of the iframe. The attribute values are specified in pixels by default, but they can also be in percent (like "80%").

77

Example
<iframe src="demo_iframe.htm" width="200" height="200"></iframe>

Iframe - Remove the Border


The frameborder attribute specifies whether or not to display a border around the iframe. Set the attribute value to "0" to remove the border:

Example
<iframe src="demo_iframe.htm" frameborder="0"></iframe>

Use iframe as a Target for a Link


An iframe can be used as the target frame for a link. The target attribute of a link must refer to the name attribute of the iframe:

Example
<iframe src="demo_iframe.htm" name="iframe_a"></iframe> <p><a href="http://www.w3schools.com" target="iframe_a">W3Schools.com</a></p>

HTML iframe Tag


Tag <iframe> Description Defines an inline sub window (frame)

78

HTML Colors
Colors are displayed combining RED, GREEN, and BLUE light.

Color Values
HTML colors are defined using a hexadecimal notation (HEX) for the combination of Red, Green, and Blue color values (RGB). The lowest value that can be given to one of the light sources is 0 (in HEX: 00). The highest value is 255 (in HEX: FF). HEX values are specified as 3 pairs of two-digit numbers, starting with a # sign.

Color Values
Color Color HEX #000000 #FF0000 #00FF00 #0000FF #FFFF00 #00FFFF #FF00FF #C0C0C0 #FFFFFF Color RGB rgb(0,0,0) rgb(255,0,0) rgb(0,255,0) rgb(0,0,255) rgb(255,255,0) rgb(0,255,255) rgb(255,0,255) rgb(192,192,192) rgb(255,255,255)

Try it yourself

16 Million Different Colors


The combination of Red, Green, and Blue values from 0 to 255, gives more than 16 million different colors (256 x 256 x 256). If you look at the color table below, you will see the result of varying the red light from 0 to 255, while keeping the green and blue light at zero.

79

To see the full list of color mixes when RED varies from 0 to 255, click on one of the HEX or RGB values below.

Red Light

Color HEX #000000 #080000 #100000 #180000 #200000 #280000 #300000 #380000 #400000 #480000 #500000 #580000 #600000 #680000 #700000 #780000 #800000 #880000 #900000 #980000 rgb(0,0,0) rgb(8,0,0) rgb(16,0,0) rgb(24,0,0) rgb(32,0,0) rgb(40,0,0) rgb(48,0,0) rgb(56,0,0) rgb(64,0,0) rgb(72,0,0) rgb(80,0,0) rgb(88,0,0) rgb(96,0,0)

Color RGB

rgb(104,0,0) rgb(112,0,0) rgb(120,0,0) rgb(128,0,0) rgb(136,0,0) rgb(144,0,0) rgb(152,0,0)

80

#A00000 #A80000 #B00000 #B80000 #C00000 #C80000 #D00000 #D80000 #E00000 #E80000 #F00000 #F80000 #FF0000

rgb(160,0,0) rgb(168,0,0) rgb(176,0,0) rgb(184,0,0) rgb(192,0,0) rgb(200,0,0) rgb(208,0,0) rgb(216,0,0) rgb(224,0,0) rgb(232,0,0) rgb(240,0,0) rgb(248,0,0) rgb(255,0,0)

Shades of Gray
Gray colors are created by using an equal amount of power to all of the light sources. To make it easier for you to select the correct shade, we have created a table of gray shades for you: Gray Shades Color HEX #000000 #080808 #101010 #181818 #202020 #282828 Color RGB rgb(0,0,0) rgb(8,8,8) rgb(16,16,16) rgb(24,24,24) rgb(32,32,32) rgb(40,40,40)

81

#303030 #383838 #404040 #484848 #505050 #585858 #606060 #686868 #707070 #787878 #808080 #888888 #909090 #989898 #A0A0A0 #A8A8A8 #B0B0B0 #B8B8B8 #C0C0C0 #C8C8C8 #D0D0D0 #D8D8D8 #E0E0E0 #E8E8E8

rgb(48,48,48) rgb(56,56,56) rgb(64,64,64) rgb(72,72,72) rgb(80,80,80) rgb(88,88,88) rgb(96,96,96) rgb(104,104,104) rgb(112,112,112) rgb(120,120,120) rgb(128,128,128) rgb(136,136,136) rgb(144,144,144) rgb(152,152,152) rgb(160,160,160) rgb(168,168,168) rgb(176,176,176) rgb(184,184,184) rgb(192,192,192) rgb(200,200,200) rgb(208,208,208) rgb(216,216,216) rgb(224,224,224) rgb(232,232,232)

82

#F0F0F0 #F8F8F8 #FFFFFF

rgb(240,240,240) rgb(248,248,248) rgb(255,255,255)

Web Safe Colors?


Some years ago, when computers supported max 256 different colors, a list of 216 "Web Safe Colors" was suggested as a Web standard, reserving 40 fixed system colors. The 216 cross-browser color palette was created to ensure that all computers would display the colors correctly when running a 256 color palette. This is not important today, since most computers can display millions of different colors. Anyway, here is the list: 000000 003300 006600 009900 00CC00 00FF00 330000 333300 336600 339900 33CC00 33FF00 660000 663300 666600 000033 003333 006633 009933 00CC33 00FF33 330033 333333 336633 339933 33CC33 33FF33 660033 663333 666633 000066 003366 006666 009966 00CC66 00FF66 330066 333366 336666 339966 33CC66 33FF66 660066 663366 666666 000099 003399 006699 009999 00CC99 00FF99 330099 333399 336699 339999 33CC99 33FF99 660099 663399 666699 0000CC 0033CC 0066CC 0099CC 00CCCC 00FFCC 3300CC 3333CC 3366CC 3399CC 33CCCC 33FFCC 6600CC 6633CC 6666CC 0000FF 0033FF 0066FF 0099FF 00CCFF 00FFFF 3300FF 3333FF 3366FF 3399FF 33CCFF 33FFFF 6600FF 6633FF 6666FF

83

669900 66CC00 66FF00 990000 993300 996600 999900 99CC00 99FF00 CC0000 CC3300 CC6600 CC9900 CCCC00 CCFF00 FF0000 FF3300 FF6600 FF9900 FFCC00 FFFF00

669933 66CC33 66FF33 990033 993333 996633 999933 99CC33 99FF33 CC0033 CC3333 CC6633 CC9933 CCCC33 CCFF33 FF0033 FF3333 FF6633 FF9933 FFCC33 FFFF33

669966 66CC66 66FF66 990066 993366 996666 999966 99CC66 99FF66 CC0066 CC3366 CC6666 CC9966 CCCC66 CCFF66 FF0066 FF3366 FF6666 FF9966 FFCC66 FFFF66

669999 66CC99 66FF99 990099 993399 996699 999999 99CC99 99FF99 CC0099 CC3399 CC6699 CC9999 CCCC99 CCFF99 FF0099 FF3399 FF6699 FF9999 FFCC99 FFFF99

6699CC 66CCCC 66FFCC 9900CC 9933CC 9966CC 9999CC 99CCCC 99FFCC CC00CC CC33CC CC66CC CC99CC CCCCCC CCFFCC FF00CC FF33CC FF66CC FF99CC FFCCCC FFFFCC

6699FF 66CCFF 66FFFF 9900FF 9933FF 9966FF 9999FF 99CCFF 99FFFF CC00FF CC33FF CC66FF CC99FF CCCCFF CCFFFF FF00FF FF33FF FF66FF FF99FF FFCCFF FFFFFF

84

HTML Color Names


Color Names Supported by All Browsers
147 color names are defined in the HTML and CSS color specification (17 standard colors plus 130 more). The table below lists them all, along with their hexadecimal values. Tip: The 17 standard colors are: aqua, black, blue, fuchsia, gray, grey, green, lime, maroon, navy, olive, purple, red, silver, teal, white, and yellow. Click on a color name (or a hex value) to view the color as the background-color along with different text colors:

Sorted by Color Name


Same list sorted by hex values Color Name AliceBlue AntiqueWhite Aqua Aquamarine Azure Beige Bisque Black BlanchedAlmond Blue BlueViolet Brown BurlyWood CadetBlue HEX #F0F8FF #FAEBD7 #00FFFF #7FFFD4 #F0FFFF #F5F5DC #FFE4C4 #000000 #FFEBCD #0000FF #8A2BE2 #A52A2A #DEB887 #5F9EA0 Color Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix

85

Chartreuse Chocolate Coral CornflowerBlue Cornsilk Crimson Cyan DarkBlue DarkCyan DarkGoldenRod DarkGray DarkGrey DarkGreen DarkKhaki DarkMagenta DarkOliveGreen Darkorange DarkOrchid DarkRed DarkSalmon DarkSeaGreen DarkSlateBlue DarkSlateGray

#7FFF00 #D2691E #FF7F50 #6495ED #FFF8DC #DC143C #00FFFF #00008B #008B8B #B8860B #A9A9A9 #A9A9A9 #006400 #BDB76B #8B008B #556B2F #FF8C00 #9932CC #8B0000 #E9967A #8FBC8F #483D8B #2F4F4F

Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades

Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix

86

DarkSlateGrey DarkTurquoise DarkViolet DeepPink DeepSkyBlue DimGray DimGrey DodgerBlue FireBrick FloralWhite ForestGreen Fuchsia Gainsboro GhostWhite Gold GoldenRod Gray Grey Green GreenYellow HoneyDew HotPink IndianRed

#2F4F4F #00CED1 #9400D3 #FF1493 #00BFFF #696969 #696969 #1E90FF #B22222 #FFFAF0 #228B22 #FF00FF #DCDCDC #F8F8FF #FFD700 #DAA520 #808080 #808080 #008000 #ADFF2F #F0FFF0 #FF69B4 #CD5C5C

Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades

Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix

87

Indigo Ivory Khaki Lavender LavenderBlush LawnGreen LemonChiffon LightBlue LightCoral LightCyan LightGoldenRodYellow LightGray LightGrey LightGreen LightPink LightSalmon LightSeaGreen LightSkyBlue LightSlateGray LightSlateGrey LightSteelBlue LightYellow Lime

#4B0082 #FFFFF0 #F0E68C #E6E6FA #FFF0F5 #7CFC00 #FFFACD #ADD8E6 #F08080 #E0FFFF #FAFAD2 #D3D3D3 #D3D3D3 #90EE90 #FFB6C1 #FFA07A #20B2AA #87CEFA #778899 #778899 #B0C4DE #FFFFE0 #00FF00

Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades

Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix

88

LimeGreen Linen Magenta Maroon MediumAquaMarine MediumBlue MediumOrchid MediumPurple MediumSeaGreen MediumSlateBlue MediumSpringGreen MediumTurquoise MediumVioletRed MidnightBlue MintCream MistyRose Moccasin NavajoWhite Navy OldLace Olive OliveDrab Orange

#32CD32 #FAF0E6 #FF00FF #800000 #66CDAA #0000CD #BA55D3 #9370D8 #3CB371 #7B68EE #00FA9A #48D1CC #C71585 #191970 #F5FFFA #FFE4E1 #FFE4B5 #FFDEAD #000080 #FDF5E6 #808000 #6B8E23 #FFA500

Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades

Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix

89

OrangeRed Orchid PaleGoldenRod PaleGreen PaleTurquoise PaleVioletRed PapayaWhip PeachPuff Peru Pink Plum PowderBlue Purple Red RosyBrown RoyalBlue SaddleBrown Salmon SandyBrown SeaGreen SeaShell Sienna Silver

#FF4500 #DA70D6 #EEE8AA #98FB98 #AFEEEE #D87093 #FFEFD5 #FFDAB9 #CD853F #FFC0CB #DDA0DD #B0E0E6 #800080 #FF0000 #BC8F8F #4169E1 #8B4513 #FA8072 #F4A460 #2E8B57 #FFF5EE #A0522D #C0C0C0

Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades

Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix

90

SkyBlue SlateBlue SlateGray SlateGrey Snow SpringGreen SteelBlue Tan Teal Thistle Tomato Turquoise Violet Wheat White WhiteSmoke Yellow YellowGreen

#87CEEB #6A5ACD #708090 #708090 #FFFAFA #00FF7F #4682B4 #D2B48C #008080 #D8BFD8 #FF6347 #40E0D0 #EE82EE #F5DEB3 #FFFFFF #F5F5F5 #FFFF00 #9ACD32

Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades

Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix

91

HTML Color Values


Sorted by Hex Value
Same list sorted by color name Color Name Black Navy DarkBlue MediumBlue Blue DarkGreen Green Teal DarkCyan DeepSkyBlue DarkTurquoise MediumSpringGreen Lime SpringGreen Aqua Cyan MidnightBlue DodgerBlue LightSeaGreen ForestGreen SeaGreen HEX #000000 #000080 #00008B #0000CD #0000FF #006400 #008000 #008080 #008B8B #00BFFF #00CED1 #00FA9A #00FF00 #00FF7F #00FFFF #00FFFF #191970 #1E90FF #20B2AA #228B22 #2E8B57 Color Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix

92

DarkSlateGray DarkSlateGrey LimeGreen MediumSeaGreen Turquoise RoyalBlue SteelBlue DarkSlateBlue MediumTurquoise Indigo DarkOliveGreen CadetBlue CornflowerBlue MediumAquaMarine DimGray DimGrey SlateBlue OliveDrab SlateGray SlateGrey LightSlateGray LightSlateGrey MediumSlateBlue LawnGreen Chartreuse Aquamarine

#2F4F4F #2F4F4F #32CD32 #3CB371 #40E0D0 #4169E1 #4682B4 #483D8B #48D1CC #4B0082 #556B2F #5F9EA0 #6495ED #66CDAA #696969 #696969 #6A5ACD #6B8E23 #708090 #708090 #778899 #778899 #7B68EE #7CFC00 #7FFF00 #7FFFD4

Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades

Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix

93

Maroon Purple Olive Gray Grey SkyBlue LightSkyBlue BlueViolet DarkRed DarkMagenta SaddleBrown DarkSeaGreen LightGreen MediumPurple DarkViolet PaleGreen DarkOrchid YellowGreen Sienna Brown DarkGray DarkGrey LightBlue GreenYellow PaleTurquoise LightSteelBlue

#800000 #800080 #808000 #808080 #808080 #87CEEB #87CEFA #8A2BE2 #8B0000 #8B008B #8B4513 #8FBC8F #90EE90 #9370D8 #9400D3 #98FB98 #9932CC #9ACD32 #A0522D #A52A2A #A9A9A9 #A9A9A9 #ADD8E6 #ADFF2F #AFEEEE #B0C4DE

Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades

Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix

94

PowderBlue FireBrick DarkGoldenRod MediumOrchid RosyBrown DarkKhaki Silver MediumVioletRed IndianRed Peru Chocolate Tan LightGray LightGrey PaleVioletRed Thistle Orchid GoldenRod Crimson Gainsboro Plum BurlyWood LightCyan Lavender DarkSalmon Violet

#B0E0E6 #B22222 #B8860B #BA55D3 #BC8F8F #BDB76B #C0C0C0 #C71585 #CD5C5C #CD853F #D2691E #D2B48C #D3D3D3 #D3D3D3 #D87093 #D8BFD8 #DA70D6 #DAA520 #DC143C #DCDCDC #DDA0DD #DEB887 #E0FFFF #E6E6FA #E9967A #EE82EE

Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades

Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix

95

PaleGoldenRod LightCoral Khaki AliceBlue HoneyDew Azure SandyBrown Wheat Beige WhiteSmoke MintCream GhostWhite Salmon AntiqueWhite Linen LightGoldenRodYellow OldLace Red Fuchsia Magenta DeepPink OrangeRed Tomato HotPink Coral Darkorange

#EEE8AA #F08080 #F0E68C #F0F8FF #F0FFF0 #F0FFFF #F4A460 #F5DEB3 #F5F5DC #F5F5F5 #F5FFFA #F8F8FF #FA8072 #FAEBD7 #FAF0E6 #FAFAD2 #FDF5E6 #FF0000 #FF00FF #FF00FF #FF1493 #FF4500 #FF6347 #FF69B4 #FF7F50 #FF8C00

Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades

Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix

96

LightSalmon Orange LightPink Pink Gold PeachPuff NavajoWhite Moccasin Bisque MistyRose BlanchedAlmond PapayaWhip LavenderBlush SeaShell Cornsilk LemonChiffon FloralWhite Snow Yellow LightYellow Ivory White

#FFA07A #FFA500 #FFB6C1 #FFC0CB #FFD700 #FFDAB9 #FFDEAD #FFE4B5 #FFE4C4 #FFE4E1 #FFEBCD #FFEFD5 #FFF0F5 #FFF5EE #FFF8DC #FFFACD #FFFAF0 #FFFAFA #FFFF00 #FFFFE0 #FFFFF0 #FFFFFF

Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades Shades

Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix Mix

97

HTML 4.01 Quick List


HTML Quick List from W3Schools. Print it, fold it, and put it in your pocket.

HTML Basic Document


<html> <head> <title>Title of document goes here</title> </head> <body> Visible text goes here... </body> </html>

Heading Elements
<h1>Largest Heading</h1> <h2> <h3> <h4> <h5> . . . . . . . . . . . . </h2> </h3> </h4> </h5>

<h6>Smallest Heading</h6>

Text Elements
<p>This is a paragraph</p> <br /> (line break) <hr /> (horizontal rule) <pre>This text is preformatted</pre>

Logical Styles
<em>This text is emphasized</em> <strong>This text is strong</strong> <code>This is some computer code</code>

Physical Styles
<b>This text is bold</b> <i>This text is italic</i>

98

Links
Ordinary link: <a href="http://www.example.com/">Link-text goes here</a> Image-link: <a href="http://www.example.com/"><img src="URL" alt="Alternate Text" /></a> Mailto link: <a href="mailto:webmaster@example.com">Send e-mail</a> A named anchor: <a name="tips">Tips Section</a> <a href="#tips">Jump to the Tips Section</a>

Unordered list
<ul> <li>Item</li> <li>Item</li> </ul>

Ordered list
<ol> <li>First item</li> <li>Second item</li> </ol>

Definition list
<dl> <dt>First term</dt> <dd>Definition</dd> <dt>Next term</dt> <dd>Definition</dd> </dl>

Tables
<table border="1"> <tr> <th>Tableheader</th> <th>Tableheader</th> </tr> <tr> <td>sometext</td> <td>sometext</td> </tr> </table>

Frames
<frameset cols="25%,75%"> <frame src="page1.htm" /> <frame src="page2.htm" /> </frameset>

Forms
99

<form action="http://www.example.com/test.asp" method="post/get"> <input <input <input <input <input <input <input type="text" name="email" size="40" maxlength="50" /> type="password" /> type="checkbox" checked="checked" /> type="radio" checked="checked" /> type="submit" value="Send" /> type="reset" /> type="hidden" />

<select> <option>Apples</option> <option selected="selected">Bananas</option> <option>Cherries</option> </select> <textarea name="comment" rows="60" cols="20"></textarea> </form>

Entities
&lt; is the same as < &gt; is the same as > &#169; is the same as

Other Elements
<!-- This is a comment --> <blockquote> Text quoted from a source. </blockquote> <address> Written by W3Schools.com<br /> <a href="mailto:us@example.org">Email us</a><br /> Address: Box 564, Disneyland<br /> Phone: +12 34 56 78 </address>

100

HTML Layouts
Previous Next Chapter

Web page layout is very important to make your website look good. Design your webpage layout very carefully.

Website Layouts
Most websites have put their content in multiple columns (formatted like a magazine or newspaper). Multiple columns is created by using <table> or <div> tags. Some CSS are normally also added to position elements, or to create backgrounds or colorful look for the pages.

HTML Layouts - Using Tables


The simplest way of creating layouts is by using the HTML <table> tag. The following example uses a table with 3 rows and 2 columns - the first and last row spans both columns using the colspan attribute:

Example
<html> <body> <table width="500" border="0"> <tr> <td colspan="2" style="background-color:#FFA500;"> <h1>Main Title of Web Page</h1> </td> </tr> <tr valign="top"> <td style="background-color:#FFD700;width:100px;text-align:top;"> <b>Menu</b><br /> HTML<br /> CSS<br /> JavaScript </td> <td style="background-color:#EEEEEE;height:200px;width:400px;text-align:top;"> Content goes here</td> </tr>

101

<tr> <td colspan="2" style="background-color:#FFA500;text-align:center;"> Copyright 2011 W3Schools.com</td> </tr> </table> </body> </html>

Try it yourself

The HTML code above will produce the following result:

Main Title of Web Page


Menu HTML CSS JavaScript Content goes here

Copyright 2011 W3Schools.com

Note: Even though it is possible to create nice layouts with HTML tables, tables were designed for presenting tabular data - NOT as a layout tool!

HTML Layouts - Using Div Elements


The div element is a block level element used for grouping HTML elements. The following example uses five div elements to create a multiple column layout, creating the same result as in the previous example:

Example

102

<html> <body> <div id="container" style="width:500px"> <div id="header" style="background-color:#FFA500;"> <h1 style="margin-bottom:0;">Main Title of Web Page</h1></div> <div id="menu" style="background-color:#FFD700;height:200px;width:100px;float:left;"> <b>Menu</b><br /> HTML<br /> CSS<br /> JavaScript</div> <div id="content" style="background-color:#EEEEEE;height:200px;width:400px;float:left;"> Content goes here</div> <div id="footer" style="background-color:#FFA500;clear:both;text-align:center;"> Copyright 2011 W3Schools.com</div> </div> </body> </html>

Try it yourself

The HTML code above will produce the following result:

Main Title of Web Page


Menu HTML CSS JavaScript Content goes here Copyright 2011 W3Schools.com

HTML Layout - Useful Tips


Tip: The biggest advantage of using CSS is that, if you place the CSS code in an external style sheet, your site becomes MUCH EASIER to maintain. You can change the layout of all your pages by editing one file. To learn more about CSS, study our CSS tutorial.

103

Tip: Because advanced layouts take time to create, a quicker option is to use a template. Search Google for free website templates (these are pre-built website layouts you can use and customize).

HTML Layout Tags


Tag <table> <div> Description Defines a table Defines a section in a document

HTML Doctypes
Previous Next Chapter

A doctype declaration refers to the rules for the markup language, so that the browsers render the content correctly.

Example
An HTML document with a doctype of HTML 4.01 Transitional: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Title of the document</title> </head> <body> The content of the document...... </body> </html>

HTML Different Doctypes


The doctype declaration is not an HTML tag; it is an instruction to the web browser about what version of the markup language the page is written in.

104

The doctype declaration refers to a Document Type Definition (DTD). The DTD specifies the rules for the markup language, so that the browsers render the content correctly. The doctype declaration should be the very first thing in an HTML document, before the <html> tag. Tip: Always add a doctype to your pages. This helps the browsers to render the page correctly!

HTML 4.01 Strict


This DTD contains all HTML elements and attributes, but does NOT INCLUDE presentational or deprecated elements (like font and center). Framesets are not allowed:

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

HTML 4.01 Transitional


This DTD contains all HTML elements and attributes, INCLUDING presentational and deprecated elements (like font). Framesets are not allowed:

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

HTML 4.01 Frameset


This DTD is equal to HTML 4.01 Transitional, but allows the use of frameset content:

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

Tips and Notes


Look at our table of all HTML/XHTML elements, and which DTD each element appear in. Use W3C's Validator to check that you have written a valid HTML / XHTML document!

105

HTML DOCTYPE Element


Tag <!DOCTYPE> Description Defines the document type. This declaration goes before the <html> start tag

HTML Styles
In HTML 4.0, all formatting can be removed from the HTML document, and stored in a style sheet.
Using styles in HTML How to add style information into the <head> section.

<html> <head> <style type="text/css"> h1 {color:red;} h2 {color:blue;} p {color:green;} </style> </head> <body> <h1>All header 1 elements will be red</h1> <h2>All header 2 elements will be blue</h2> <p>All text in paragraphs will be green.</p> </body> </html>

All header 1 elements will be red

All header 2 elements will be blue


All text in paragraphs will be green.

106

Link that is not underlined How to make a link that is not underlined, with the style attribute.

<html> <body> <a href="http://www.w3schools.com" style="text-decoration:none;">Visit W3Schools.com!</a> </body> </html>

Visit W3Schools.com!
Link to an external style sheet How to use the <link> tag to link to an external style sheet.

<html> <head> <link rel="stylesheet" type="text/css" href="styles.css" /> </head> <body> <h1>I am formatted with an external style sheet</h1> <p>Me too!</p> </body> </html>

I am formatted with an external style sheet


Me too!

How to Use Styles


When a browser reads a style sheet, it will format the document according to it. There are three ways of inserting a style sheet:

External style sheet Internal style sheet Inline styles

107

External Style Sheet


An external style sheet is ideal when the style is applied to many pages. With an external style sheet, you can change the look of an entire Web site by changing one file. Each page must link to the style sheet using the <link> tag. The <link> tag goes inside the <head> section:

<head> <link rel="stylesheet" type="text/css" href="mystyle.css" /> </head>

Internal Style Sheet


An internal style sheet can be used if one single document has a unique style. Internal styles are defined in the <head> section of an HTML page, by using the <style> tag, like this:

<head> <style type="text/css"> body {background-color:yellow;} p {color:blue;} </style> </head>

Inline Styles
An inline style can be used if a unique style is to be applied to one single occurrence of an element. To use inline styles, use the style attribute in the relevant tag. The style attribute can contain any CSS property. The example below shows how to change the text color and the left margin of a paragraph:

<p style="color:blue;margin-left:20px;">This is a paragraph.</p>

To learn more about style sheets, visit our CSS tutorial.

108

HTML Style Tags


Tag <style> <link /> Description Defines style information for a document Defines the relationship between a document and an external resource

HTML head Elements


The title of a document The <title> tag defines the title of the document.

<html> <head> <title>My first HTML page</title> </head> <body> <p>The content of the body element is displayed in the browser.</p> <p>The content of the title element is displayed in the browser's title.</p> </body> </html>

The content of the body element is displayed in the browser. The content of the title element is displayed in the browser's title.
One target for all links

How to use the base tag to let all the links on a page open in a new window. <html> <head> <base href="http://www.w3schools.com/images/" /> <base target="_blank" /> </head> <body> <img src="stickman.gif" width="24" height="39" /> - Notice that we have only specified a relative address for the image. Since we have specified a base URL in the head section, the browser will look for the image at "http://www.w3schools.com/images/stickman.gif" <br /><br /> <a href="http://www.w3schools.com">W3Schools</a> - Notice that the link opens in a new window, even if it has no target="_blank" attribute. This is because the target attribute of the base element is set to "_blank". 109

</body> </html>

- Notice that we have only specified a relative address for the image. Since we have specified a base URL in the head section, the browser will look for the image at "http://www.w3schools.com/images/stickman.gif" W3Schools - Notice that the link opens in a new window, even if it has no target="_blank" attribute. This is because the target attribute of the base element is set to "_blank".

The HTML head Element


The head element is a container for all the head elements. Elements inside <head> can include scripts, instruct the browser where to find style sheets, provide meta information, and more. The following tags can be added to the head section: <title>, <base>, <link>, <meta>, <script>, and <style>.

The HTML title Element


The <title> tag defines the title of the document. The title element is required in all HTML/XHTML documents. The title element:

defines a title in the browser toolbar provides a title for the page when it is added to favorites displays a title for the page in search-engine results

A simplified HTML document:

<html> <head> <title>Title of the document</title> </head> <body> The content of the document...... </body> </html>

110

The HTML base Element


The <base> tag specifies a default address or a default target for all links on a page:

<head> <base href="http://www.w3schools.com/images/" /> <base target="_blank" /> </head>

The HTML link Element


The <link> tag defines the relationship between a document and an external resource. The <link> tag is most used to link to style sheets:

<head> <link rel="stylesheet" type="text/css" href="mystyle.css" /> </head>

The HTML style Element


The <style> tag is used to define style information for an HTML document. Inside the style element you specify how HTML elements should render in a browser:

<head> <style type="text/css"> body {background-color:yellow} p {color:blue} </style> </head>

The HTML meta Element


The <meta> tag provides metadata about the HTML document. The meta element will be explained in the next chapter.

The HTML script Element


The <script> tag is used to define a client-side script, such as a JavaScript.

111

The script element will be explained in a later chapter.

HTML head Elements


Tag <head> <title> <base /> <link /> <meta /> <script> <style> Description Defines information about the document Defines the title of a document Defines a default address or a default target for all links on a page Defines the relationship between a document and an external resource Defines metadata about an HTML document Defines a client-side script Defines style information for a document

HTML Meta
Document description Use the meta element to describe the document.

<html> <head> <meta name="author" content="Hege Refsnes" /> <meta name="revised" content="2010/06/20" /> </head> <body> <p>The meta elements on this page identifies the author and the revise date.</p> </body> </html>

The meta elements on this page identifies the author and the revise date.
Document keywords Use the meta element to define the keywords of a document.

<html> <head> <meta name="description" content="Free Web tutorials on HTML, CSS, XML"> <meta name="keywords" content="HTML, CSS, XML"> </head> 112

<body> <p>The meta elements on this page defines a description of the page, and its keywords.</p> </body> </html>

The meta elements on this page defines a description of the page, and its keywords
Redirect a user How to redirect a user to a new web address.

<html> <head> <meta http-equiv="Refresh" content="5;url=http://www.w3schools.com" /> </head> <body> <h1>Sorry! We have moved!</h1> <h2>The new URL is: <a href="http://www.w3schools.com">http://www.w3schools.com</a></h2> <p>You will be redirected to the new address in five seconds.</p> <p>If you see this message for more than 5 seconds, please click on the link above!</p> </body> </html>

The HTML meta Element


Metadata is information about data. The <meta> tag provides metadata about the HTML document. Metadata will not be displayed on the page, but will be machine parsable. Meta elements are typically used to specify page description, keywords, author of the document, last modified, and other metadata. The <meta> tag always goes inside the head element. The metadata can be used by browsers (how to display content or reload page), search engines (keywords), or other web services.

113

Keywords for Search Engines


Some search engines will use the name and content attributes of the meta element to index your pages. The following meta element defines a description of a page:

<meta name="description" content="Free Web tutorials on HTML, CSS, XML" />

The following meta element defines keywords for a page:

<meta name="keywords" content="HTML, CSS, XML" />

The intention of the name and content attributes is to describe the content of a page. Note: A lot of webmasters have used <meta> tags for spamming, like repeating keywords (or using wrong keywords) for higher ranking. Therefore, most search engines have stopped using <meta> tags to index/rank pages.

114

HTML Scripts
JavaScripts make HTML pages more dynamic and interactive.

Insert a script How to insert a script into an HTML document.

<html> <body> <script type="text/javascript"> document.write("Hello World!") </script> </body> </html>

Hello World!
Use of the <noscript> tag How to handle browsers that do not support scripting, or have scripting disabled.

<html> <body> <script type="text/javascript"> document.write("Hello World!") </script> <noscript>Sorry, your browser does not support JavaScript!</noscript> <p>A browser without support for JavaScript will show the text in the noscript element.</p> </body> </html>

Hello World! Sorry, your browser does not support JavaScript! A browser without support for JavaScript will show the text in the noscript element.

115

The HTML script Element


The <script> tag is used to define a client-side script, such as a JavaScript. The script element either contains scripting statements or it points to an external script file through the src attribute. The required type attribute specifies the MIME type of the script. Common uses for JavaScript are image manipulation, form validation, and dynamic changes of content. The script below writes Hello World! to the HTML output:

Example
<script type="text/javascript"> document.write("Hello World!") </script>

Tip: To learn more about JavaScript, visit our JavaScript tutorial!

The HTML noscript Element


The <noscript> tag is used to provide an alternate content for users that have disabled scripts in their browser or have a browser that doesnt support client-side scripting. The noscript element can contain all the elements that you can find inside the body element of a normal HTML page. The content inside the noscript element will only be displayed if scripts are not supported, or are disabled in the users browser:

Example
<script type="text/javascript"> document.write("Hello World!") </script> <noscript>Sorry, your browser does not support JavaScript!</noscript>

116

HTML Script Tags


Tag <script> <noscript> Description Defines a client-side script Defines an alternate content for users that do not support client-side scripts

HTML Entities
Reserved characters in HTML must be replaced with character entities.

HTML Entities
Some characters are reserved in HTML. It is not possible to use the less than (<) or greater than (>) signs in your text, because the browser will mix them with tags. To actually display reserved characters, we must use character entities in the HTML source code. A character entity looks like this:

&entity_name; OR &#entity_number;

To display a less than sign we must write: &lt; or &#60; Tip: The advantage of using an entity name, instead of a number, is that the name is easier to remember. However, the disadvantage is that browsers may not support all entity names (the support for entity numbers is very good).

Non-breaking Space
A common character entity used in HTML is the non-breaking space (&nbsp;).

117

Browsers will always truncate spaces in HTML pages. If you write 10 spaces in your text, the browser will remove 9 of them, before displaying the page. To add spaces to your text, you can use the &nbsp; character entity.

HTML Entities Example


<html> <body> <p>Character entities</p> <p>&X;</p> <p> Substitute the "X" with an entity number like "#174" or an entity name like "pound" to see the result. </p> </body> </html>

Character entities &X; Substitute the "X" with an entity number like "#174" or an entity name like "pound" to see the result.

HTML Useful Character Entities


Note: Entity names are case sensitive! Result Description non-breaking space < > & less than greater than ampersand cent pound yen Entity Name &nbsp; &lt; &gt; &amp; &cent; &pound; &yen; Entity Number &#160; &#60; &#62; &#38; &#162; &#163; &#165;

118

euro section copyright registered trademark trademark

&euro; &sect; &copy; &reg; &trade;

&#8364; &#167; &#169; &#174; &#8482;

HTML Uniform Resource Locators


A URL is another word for a web address. A URL can be composed of words, such as "w3schools.com", or an Internet Protocol (IP) address: 192.68.20.50. Most people enter the name of the website when surfing, because names are easier to remember than numbers.

URL - Uniform Resource Locator


When you click on a link in an HTML page, an underlying <a> tag points to an address on the world wide web. A Uniform Resource Locator (URL) is used to address a document (or other data) on the world wide web. A web address, like this: http://www.w3schools.com/html/default.asp follows these syntax rules:

scheme://host.domain:port/path/filename

Explanation:

scheme - defines the type of Internet service. The most common type is http host - defines the domain host (the default host for http is www) domain - defines the Internet domain name, like w3schools.com :port - defines the port number at the host (the default port number for http is 80) path - defines a path at the server (If omitted, the document must be stored at the root directory of the web site) filename - defines the name of a document/resource

119

Common URL Schemes


The table below lists some common schemes: Scheme http Short for.... HyperText Transfer Protocol Which pages will the scheme be used for... Common web pages starts with http://. Not encrypted Secure web pages. All information exchanged are encrypted For downloading or uploading files to a website. Useful for domain maintenance A file on your computer

https

Secure HyperText Transfer Protocol File Transfer Protocol

ftp

file

HTML URL Encoding


URL encoding converts characters into a format that can be transmitted over the Internet.

URL - Uniform Resource Locator


Web browsers request pages from web servers by using a URL. The URL is the address of a web page, like: http://www.w3schools.com.

URL Encoding
URLs can only be sent over the Internet using the ASCII character-set. Since URLs often contain characters outside the ASCII set, the URL has to be converted into a valid ASCII format. URL encoding replaces non ASCII characters with a "%" followed by two hexadecimal digits. URLs cannot contain spaces. URL encoding normally replaces a space with a + sign.

120

Try It Yourself
If you click the "Submit" button below, the browser will URL encode the input before it is sent to the server. A page at the server will display the received input.
Submit

Hello Gnter

Try some other input and click Submit again.

URL Encoding Examples


Character URL-encoding %80 %A3 %A9 %AE %C0 %C1 %C2 %C3 %C4 %C5

HTML ASCII Reference


The ASCII character-set is used to send information between computers on the Internet.

121

The ASCII Character Set


ASCII stands for the "American Standard Code for Information Interchange". It was designed in the early 60's, as a standard character-set for computers and hardware devices like teleprinters and tapedrives. ASCII is a 7-bit character set containing 128 characters. It contains the numbers from 0-9, the uppercase and lowercase English letters from A to Z, and some special characters. The character-sets used in modern computers, HTML, and Internet are all based on ASCII. The following table lists the 128 ASCII characters and their equivalent HTML entity codes.

ASCII Printable Characters


ASCII Character HTML Entity Code &#32; ! " # $ % & ' ( ) * + , &#33; &#34; &#35; &#36; &#37; &#38; &#39; &#40; &#41; &#42; &#43; &#44; Description space exclamation mark quotation mark number sign dollar sign percent sign ampersand apostrophe left parenthesis right parenthesis asterisk plus sign comma

122

. / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D

&#45; &#46; &#47; &#48; &#49; &#50; &#51; &#52; &#53; &#54; &#55; &#56; &#57; &#58; &#59; &#60; &#61; &#62; &#63; &#64; &#65; &#66; &#67; &#68;

hyphen period slash digit 0 digit 1 digit 2 digit 3 digit 4 digit 5 digit 6 digit 7 digit 8 digit 9 colon semicolon less-than equals-to greater-than question mark at sign uppercase A uppercase B uppercase C uppercase D

123

E F G H I J K L M N O P Q R S T U V W X Y Z [ \

&#69; &#70; &#71; &#72; &#73; &#74; &#75; &#76; &#77; &#78; &#79; &#80; &#81; &#82; &#83; &#84; &#85; &#86; &#87; &#88; &#89; &#90; &#91; &#92;

uppercase E uppercase F uppercase G uppercase H uppercase I uppercase J uppercase K uppercase L uppercase M uppercase N uppercase O uppercase P uppercase Q uppercase R uppercase S uppercase T uppercase U uppercase V uppercase W uppercase X uppercase Y uppercase Z left square bracket backslash

124

] ^ _ ` a b c d e f g h i j k l m n o p q r s t

&#93; &#94; &#95; &#96; &#97; &#98; &#99; &#100; &#101; &#102; &#103; &#104; &#105; &#106; &#107; &#108; &#109; &#110; &#111; &#112; &#113; &#114; &#115; &#116;

right square bracket caret underscore grave accent lowercase a lowercase b lowercase c lowercase d lowercase e lowercase f lowercase g lowercase h lowercase i lowercase j lowercase k lowercase l lowercase m lowercase n lowercase o lowercase p lowercase q lowercase r lowercase s lowercase t

125

u v w x y z { | } ~

&#117; &#118; &#119; &#120; &#121; &#122; &#123; &#124; &#125; &#126;

lowercase u lowercase v lowercase w lowercase x lowercase y lowercase z left curly brace vertical bar right curly brace tilde

ASCII Device Control Characters


The ASCII device control characters were originally designed to control hardware devices. Control characters have nothing to do inside an HTML document. ASCII Character NUL SOH STX ETX EOT ENQ ACK BEL HTML Entity Code &#00; &#01; &#02; &#03; &#04; &#05; &#06; &#07; Description null character start of header start of text end of text end of transmission enquiry acknowledge bell (ring)

126

BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US

&#08; &#09; &#10; &#11; &#12; &#13; &#14; &#15; &#16; &#17; &#18; &#19; &#20; &#21; &#22; &#23; &#24; &#25; &#26; &#27; &#28; &#29; &#30; &#31;

backspace horizontal tab line feed vertical tab form feed carriage return shift out shift in data link escape device control 1 device control 2 device control 3 device control 4 negative acknowledge synchronize end transmission block cancel end of medium substitute escape file separator group separator record separator unit separator

127

DEL

&#127;

delete (rubout)

HTML Web Server


To make your web site visible to the world, you'll have to store it on a web server.

Hosting your own Web site


Hosting your web site on your own server is always an option. Here are some points to consider:

Hardware Expenses
To run a "real" web site, you will have to buy some powerful server hardware. Don't expect that a low cost PC will do the job. You will also need a permanent (24 hours a day ) high-speed connection.

Software Expenses
Remember that server-licenses often are higher than client-licenses. Also note that server-licenses might have limits on number of users.

Labor Expenses
Don't expect low labor expenses. You have to install your own hardware and software. You also have to deal with bugs and viruses, and keep your server constantly running in an environment where "everything could happen".

Using an Internet Service Provider


Renting a server from an Internet Service Provider (ISP) is a common option. Most small companies store their web site on a server provided by an ISP. Here are some advantages:

Connection Speed
Most ISPs have very fast connections to the Internet.

Powerful Hardware
ISPs often have powerful web servers that can be shared by several companies. You can also expect them to have an effective load balancing, and necessary backup servers.

128

Security and Stability


ISPs are specialists on web hosting. Expect their servers to have more than 99% up time, the latest software patches, and the best virus protection.

Things to Consider with an ISP


24-hour support
Make sure your ISP offers 24-hours support. Don't put yourself in a situation where you cannot fix critical problems without having to wait until the next working day. Toll-free phone could be vital if you don't want to pay for long distance calls.

Daily Backup
Make sure your ISP runs a daily backup routine, otherwise you may lose some valuable data.

Traffic Volume
Study the ISP's traffic volume restrictions. Make sure that you don't have to pay a fortune for unexpected high traffic if your web site becomes popular.

Bandwidth or Content Restrictions


Study the ISP's bandwidth and content restrictions. If you plan to publish pictures or broadcast video or sound, make sure that you can.

E-mail Capabilities
Make sure your ISP supports the e-mail capabilities you need.

Database Access
If you plan to use data from databases on your web site, make sure your ISP supports the database access you need. Before you select an ISP, make sure you read W3Schools Web Hosting Tutorial !!

Web Hosting Tutorial


Table of Contents
Introduction to Web Hosting This chapter explains how the WWW works, how you can publish your own web site, and what an Internet service provider can offer.

129

Web Hosting Introduction


How does the Internet work? How can I have my own Web Site? What is a Web Host? What is an Internet Service Provider?

What is the World Wide Web?



The Web is a network of computers all over the world. All the computers in the Web can communicate with each other. All the computers use a communication protocol called HTTP.

How does the WWW work?



Web information is stored in documents called web pages. Web pages are files stored on computers called web servers. Computers reading the web pages are called web clients. Web clients view the pages with a program called a web browser. Popular browsers are Internet Explorer and Firefox.

How does a Browser Fetch a Web Page?



A browser fetches a page from a web server by a request. A request is a standard HTTP request containing a page address. An address may look like this: http://www.example.com/default.htm.

How does a Browser Display a Web Page?



All web pages contain instructions for display. The browser displays the page by reading these instructions. The most common display instructions are called HTML tags. HTML tags look like this <p>This is a paragraph.</p>.

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

What is a Web Server?



The collection of all your web pages is called your web site. To let others view your web pages, you must publish your web site. To publish your work, you must copy your site to a web server. Your own PC can act as a web server if it is connected to a network. Most common is to use an Internet Service Provider (ISP).

130

What is an Internet Service Provider?



ISP stands for Internet Service Provider. An ISP provides Internet Services. A common Internet service is web hosting. Web hosting means storing your web site on a public server. Web hosting normally includes email services. Web hosting often includes domain name registration.

Summary
If you want other people to view your web site, you must copy your site to a public server. Even if you can use your own PC as a web server, it is more common to let an Internet Service Provider (ISP) host your site. Included in a Web hosting solution you can expect to find domain name registration and standard email services. You can read more about domain name registration, email and other services in the next chapters of this tutorial. Web Hosting Providers This chapter explains the difference between hosting your web site on your own server and hosting it with an Internet service provider.

Web Hosting Providers


To make your web site visible to the world, you'll have to store it on a web server.

Hosting your own Web site


Hosting your web site on your own server is always an option. Here are some points to consider:

Hardware Expenses
To run a "real" web site, you will have to buy some powerful server hardware. Don't expect that a low cost PC will do the job. You will also need a permanent (24 hours a day ) high-speed connection.

Software Expenses
Remember that server-licenses often are higher than client-licenses. Also note that server-licenses might have limits on number of users.

131

Labor Expenses
Don't expect low labor expenses. You have to install your own hardware and software. You also have to deal with bugs and viruses, and keep your server constantly running in an environment where "everything could happen".

Using an Internet Service Provider


Renting a server from an Internet Service Provider (ISP) is a common option. Most small companies store their web site on a server provided by an ISP. Here are some advantages:

Connection Speed
Most ISPs have very fast connections to the Internet.

Powerful Hardware
ISPs often have powerful web servers that can be shared by several companies. You can also expect them to have an effective load balancing, and necessary backup servers.

Security and Stability


ISPs are specialists on web hosting. Expect their servers to have more than 99% up time, the latest software patches, and the best virus protection.

Things to Consider with an ISP


24-hour support
Make sure your ISP offers 24-hours support. Don't put yourself in a situation where you cannot fix critical problems without having to wait until the next working day. Toll-free phone could be vital if you don't want to pay for long distance calls.

Daily Backup
Make sure your ISP runs a daily backup routine, otherwise you may lose some valuable data.

Traffic Volume
Study the ISP's traffic volume restrictions. Make sure that you don't have to pay a fortune for unexpected high traffic if your web site becomes popular.

Bandwidth or Content Restrictions


Study the ISP's bandwidth and content restrictions. If you plan to publish pictures or broadcast video or sound, make sure that you can.

132

E-mail Capabilities
Make sure your ISP supports the e-mail capabilities you need.

Front Page Extensions


If you use FrontPage to develop your web site, make sure your ISP supports FrontPage server extensions.

Database Access
If you plan to use data from databases on your web site, make sure your ISP supports the database access you need. Web Hosting Domains This chapter explains how to register your own domain name, and how to use it as your web address.

Web Hosting Domain Names


A domain name is a unique name for your web site. Choosing a hosting solution should include domain name registration. Your domain name should be easy to remember and easy to type.

What is a Domain Name?


A domain name is a unique name for a web site, like w3schools.com. Domain names must be registered. When domain names are registered, they are added to a large domain name register. In addition, information about the web site, including the IP address, is stored on a DNS server. DNS stands for Domain Name System. A DNS server is responsible for informing all other computers on the Internet about the domain name and the web site address.

Registering a Domain
Domains can be registered from domain name registration companies. These companies provide interfaces to search for available domain names, and they offer a variety of domain name extensions that can be registered at the same time.

133

Choosing a Domain Name


Choosing a domain name is a major step for any individual or organization. New domain name extensions and creative thinking still offer thousands of excellent domain names! When choosing a name, it is important to consider the purpose of a domain name, which is to provide an easy way to reach your web site. The best domains have the following characteristics: Short - People don't like to type! A short domain name is easier to type, read, and remember. Meaningful - A short domain is nothing without meaning, 34i4nh.com is not easy to enter or to remember. Select a domain that relates to your site in a way that people will understand. Clear - Clarity is important when selecting a domain name. Avoid a name that is difficult to spell or pronounce. Exposure - Names that are short and easy to remember are an asset. In addition to visitors, also consider search engines. Search engines index your site and rank it for relevance against terms people search for. In order to maximize your sites exposure, consider including a relevant search term in your domain. Of course, only consider this if it still maintains a short, clear and meaningful domain name.

Sub Domains
Most people are unaware that they use sub domains daily. The famous "www" of the World Wide Web is an example of a sub domain. Sub domains can be created on a DNS server, and they don't need to be registered with a domain name registrar, of course, the original domain name needs to be registered before a sub domain could be created. Examples of sub domains used on the internet are http://store.apple.com and http://support.microsoft.com. Sub domains can be requested from your web hosting provider.

False Domain Names - Directory Listings


Some providers will offer you a name under their own name, like: www.theircompany.com/yourcompany/ This is not a real domain name, it is a directory - and you should try to avoid it. Directory domains are not desirable, especially for companies. Typically, directory domains are used for personal web sites and free web sites provided by an ISP, you may have seen www.theircompany.com/~username as an address. Competition in domain name registration has resulted in a dramatic decrease in pricing, so domain sharing is not common, since it is possible to register a domain name for only $15 per year.

134

Expired Domains
Another source for domain registrations is expired domains. When you register a domain, think of it as a rental, assuming there are no legal or trademark issues with the domain name, you are free to use it as long as you continue to pay the yearly fee (you can now register in advance as many as 10 years). Some people register domains as speculators, hoping that they can later sell them, while others may have planned to use a domain and never had the time. The result is that domains that were previously registered, become available again.

Use Your Domain Name


After you have chosen and registered your own domain name, make sure you use it on all your web pages, and on all your correspondence, like e-mail and traditional mail. It is important to let other people be aware of your domain name, and to inform your partners and customers about your web site. Web Hosting Capacities This chapter explains about disk space and traffic capacities.

Web Hosting Capacities


Make sure you get the disk space and the traffic volume you need.

How Much Disk Space?


A small or medium web site will need between 10 and 100MB of disk space. If you look at the size of HTML pages, you will see that the average size is very small. But if you look at the size of the images used inside these pages, you will often find the images larger than the page. Expect each HTML page to take up between 5 and 50KB of disk space on your web server, depending on the use of images or other space-consuming elements. If you use a lot of images or graphic elements (or sound files or movies), you might need much more disk space. Make sure you know your needs, before choosing a web host.

135

Monthly Traffic
A small or medium web site will consume between 1GB and 5GB of data transfer per month. Calculate the following: average page size * expected page views per month Example: If your average page size is 30KB and you expect 50,000 page views per month, you will need 0.03MB * 50,000 = 1.5GB. Larger, commercial sites often consume more than 100GB of monthly traffic. Before you sign up with a host provider, make sure to check this:

What are the restrictions on monthly transfer? Will the web site be closed if it exceeds the volume? Will you be billed a fortune if the web site exceeds the volume? Is upgrading a simple task?

Connection Speed
In the early days of the Internet a T1 connection was considered a fast connection. Today connection speeds are much faster. 1 byte equals to 8 bits (and that's the number of bits used to transport one character). Low-speed modems can transport from about 14 000 to 56 000 bits per second (14 to 56 kilobits per second). That is somewhere between 2000 and 7000 characters per second, or about 1 to 5 pages of written text. One kilobit (Kb) is 1024 bits. One megabit (Mb) is 1024 kilobits. One gigabit (Gb) is 1024 megabits. These are connection speeds used on the Internet today: Name Modem D0 T1 T3 OC-1 OC-3 OC-12 OC-24 Analog Digital (ISDN) Digital Digital Optical Carrier Optical Carrier Optical Carrier Optical Carrier Connection Speed per second 14.4-56Kb 64Kb 1.55Mb 43Mb 52Mb 156Mb 622Mb 1.244Gb

136

OC-48

Optical Carrier

2.488Gb

Before you sign up with a host provider, surf some other web sites on their servers, and try to get a good feeling about their network speed. Also compare the other sites against yours, to see if it looks like you have the same needs. Contacting some of the other customers is also a valuable option. Web Hosting Email This chapter explains the most common e-mail services an Internet service provider offer.

Web Hosting E-mail Services


Hosting services should include e-mail accounts and e-mail services.

E-mail Accounts
Hosting solutions should include e-mail accounts for each person in your company. E-mail addresses should appear something like this: john@mycompany.com john.doe@mycompany.com jdoe@mycompany.com

POP E-mail
POP stands for Post Office Protocol. POP is a standard client/server protocol for sending and receiving e-mail. The e-mails are received and held on your internet server until you pick it up with a client e-mail program, like Microsoft Outlook or Mozilla Thunderbird.

137

IMAP Email
IMAP stands for Internet Message Access Protocol. IMAP is another standard protocol for sending and receiving e-mail. The e-mails are received, and held on your internet server, until you pick it up with a client e-mail program, like Microsoft Outlook or Mozilla Thunderbird. IMAP represents an improvement over POP because e-mail stored on an IMAP server can be manipulated from several computers (a computer at home, a workstation at the office, etc.), without having to transfer messages back and forth between computers. POP was designed to support e-mail access on one single computer.

Web-based E-mail
Web-based e-mail services enable you to access your e-mail via a web browser. You log into your email account via the Web to send and retrieve e-mail. Being able to access your e-mail from any browser anywhere in the world is a very attractive option. Examples of web-based e-mail services are Gmail and Hotmail.

E-mail Forwarding
E-mail forwarding allows you to have multiple e-mail personalities. With e-mail forwarding, you can setup aliases for other e-mail accounts like: postmaster@mycompany.com should be forwarded to peter@mycompany.com sales@mycompany.com should be forwarded to mary@mycompany.com

Mailing Lists
Some service providers offer mailing list capabilities. This is valuable if you plan to send out e-mails to a large number of users. Web Hosting Technologies This chapter explains some of the most common hosting technologies.

138

Web Hosting Technologies


This section describes some of the most common hosting technologies.

Windows Hosting
Windows hosting means hosting of web services that runs on the Windows operating system. You should choose Windows hosting if you plan to use ASP (Active Server Pages) as server scripting, or if you plan to use a database like Microsoft Access or Microsoft SQL Server. Windows hosting is also the best choice if you plan to develop your web site using Microsoft Front Page.

Unix Hosting
Unix hosting means hosting of web services that runs on the Unix operating system. Unix was the first (original) web server operating system, and it is known for being reliable and stable. Often less expensive than Windows.

Linux Hosting
Linux hosting means hosting of web services that runs on the Linux operating system.

CGI
CGI scripts are executables that will execute on the server to produce dynamic and interactive web pages. Most ISPs offer some kind of CGI capabilities. ISPs often offer preinstalled, ready to run, guest-books, page-counters, and chat-forums solutions in CGI. CGI is most common on Unix or Linux servers.

139

ASP - Active Server Pages


ASP is a server-side scripting technology developed by Microsoft. With ASP you can create dynamic web pages by putting script code inside your HTML pages. The code is executed by the web server before the page is returned to the browser. Both VBScript and JavaScript can be used. ASP is a standard component in Windows 95,98, 2000, and XP. It can be activated on all computers running Windows. If you want to learn more about ASP, please visit our ASP tutorial.

PHP
PHP is the widely-used, free, and efficient alternative to competitors such as Microsoft's ASP. PHP is perfectly suited for Web development, and can be embedded directly into the HTML code. The PHP syntax is very similar to Perl and C. PHP is often used together with Apache (web server) on various operating systems. It also supports ISAPI and can be used with Microsoft's IIS on Windows. PHP supports many databases, such as MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, etc. If you want to learn more about PHP, please visit our PHP tutorial.

JSP
JSP is a server-side technology much like ASP, developed by Sun. With JSP you can create dynamic web pages by putting Java code inside your HTML pages. The code is executed by the web server before the page is returned to the browser. Since JSP uses Java, the technology is not restricted to any server-specific platform.

Cold Fusion
Cold Fusion is another server-side scripting language used to develop dynamic web pages. Cold Fusion is developed by Adobe.

140

Chili!Soft ASP
Microsoft's ASP technology runs only on Windows platforms. However, Chili!Soft ASP is a software product that allows ASP to run on UNIX and some other platforms.

Microsoft FrontPage
FrontPage is a website design tool developed by Microsoft. FrontPage allows users to develop a web site without any deep knowledge of web development. Most Windows hosting solutions support FrontPage server extensions for users that use FrontPage to develop their web site. If you plan to use FrontPage, you should look for a Windows hosting solution.

Adobe Dreamweaver
Dreamweaver is a website design tool owned by Adobe Systems. Dreamweaver allow users to develop a web site without any deep knowledge of web development. Dreamweaver has support for web technologies such as CSS, JavaScript, ASP.NET, ColdFusion, JavaServer Pages, and PHP. Dreamweaver is available for both Mac and Windows operating systems.

Secure Server
A secure server can transmit data encrypted. If you plan to do online creditcard transactions, or other types of web communication that needs to be protected against unauthorized access, your ISP must provide a secure server. Web Hosting Databases This chapter explains some of the most common web database technologies.

141

Web Hosting Database Technologies


MS SQL Server or Oracle for high traffic database-driven web sites. MySQL for low-cost database-access. MS Access for low traffic web sites.

Web Databases
If your web site needs to update large quantities of information via the web, you will need a database to store your information. There are many different database systems available for web hosting. The most common are MySQL, SQL Server, Oracle, and MS Access.

Using the SQL Language


SQL is the language for accessing databases. If you want your web site to be able to store and retrieve data from a database, your web server should have access to a database-system that uses the SQL language. If you want to learn more about SQL, please visit our SQL tutorial.

SQL Server
Microsoft's SQL Server is a popular database software for database-driven web sites with high traffic. SQL Server is a very powerful, robust and full featured SQL database system.

Oracle
Oracle is also a popular database software for database-driven web sites with high traffic. Oracle is a very powerful, robust and full featured SQL database system.

142

MySQL
MySQL is also a popular database software for web sites. MySQL is a very powerful, robust and full featured SQL database system. MySQL is an inexpensive alternative to the expensive Microsoft and Oracle solutions.

Access
When a web site requires only a simple database, Microsoft Access can be a solution. Access is not well suited for very high-traffic, and not as powerful as MySQL, SQL Server, or Oracle. Web Hosting Types This chapter explains the different types of web hosting.

Web Hosting Types


Hosting can be FREE, SHARED or DEDICATED.

Free Hosting
Some ISPs offer free web hosting. Free web hosting is best suited for small sites with low traffic, like personal sites. It is not recommended for high traffic or for real business. Technical support is often limited, and technical options are few. Very often you cannot use your own domain name at a free site. You have to use a name provided by your host like http://www.freesite.com/users/~yoursite.htm. This is hard to type, hard to remember, and not very professional. Good: Low cost. It's free. Good for family, hobby or personal sites. Free email is often an option. Bad: No domain names. Few, limited, or no software options. Limited security options. Limited or no database support. Limited technical support.

143

Shared (Virtual) Hosting


Shared hosting is very cost effective. With shared hosting, your web site gets its own domain name, and is hosted on a powerful server along with maybe 100 other web sites. Shared solutions often offer multiple software solutions like e-mail, database, and different editing options. Technical support tends to be good. Good: Low cost. Cost is shared with others. Good for small business and average traffic. Multiple software options. Own domain name. Good support Bad: Reduced security due to many sites on one server. Restrictions on traffic volume. Restricted database support. Restricted software support.

Dedicated Hosting
With dedicated hosting, your web site is hosted on a dedicated server. Dedicated hosting is the most expensive option. This option is best suited for large web sites with high traffic, and web sites that use special software. You should expect dedicated hosting to be very powerful and secure, with almost unlimited software solutions. Good: Good for large business. Good for high traffic. Multiple domain names. Powerful email solutions. Bad: Expensive. Requires higher skills.

144

Powerful database support. Strong (unlimited) software support.

Collocated Hosting
Collocation means "co-location". Collocated hosting lets you place your own web server on the premises (locations) of a service provider. This is pretty much the same as running your own server in your own office, only that it is located at a place better designed for it. Most likely an ISP will have dedicated resources like high-security against fire and vandalism, regulated backup power, dedicated Internet connections and more. Good: High bandwidth. High up-time. High security. Unlimited software options. Bad: Expensive. Requires higher skills. Harder to configure and debug.

Your Checklist
Before you choose your web host, make sure that:

The hosting type suits your needs The hosting type is cost effective Upgrading to a better server is possible If needed, upgrading to a dedicated server is possible

Before you sign up with an ISP, surf some other web sites on their servers, and try to get a good feeling about their network speed. Also compare the other sites against yours, to see if it looks like you have the same needs. Contacting some of the other customers is also a valuable option.

145

Example: eUKhost
eUKhost is a leading web hosting company in the United Kingdom. eUKhost offers services including:

Shared Hosting Reseller Hosting VPS Hosting Dedicated Servers 24/7/365 Support

on Linux and Windows platforms, powered by control panels such as cPanel/WHM, Plesk and DotNetPanel. An account can be setup within a few minutes. Web Hosting E-commerce This chapter describes e-commerce web hosting.

Web Hosting E-Commerce

If you are selling a product or a service, e-commerce might be a smart way to do business.

Internet E-Commerce
E-Commerce is about selling products or services over the Internet.

E-Commerce Systems
It is not a very good idea to build your own e-commerce system. Building an e-commerce system is a complicated process, with the potential for a lot of errors. You might buy a ready-to-use system and run it on your own server. Many systems are available on the market today, and most of them will cover your basic needs for order management and processing. But again, if you are not familiar with hosting your own web site, starting with an ecommerce site is not the right thing. The best solution, in our opinion, is to find an ISP that offers an e-commerce solution.

146

E-Commerce and Hosting Providers


E-commerce covers a huge range of products. With different ISPs you will find anything from very simple to very complex solutions. Most ISPs offer a simple and inexpensive solution, that allow you to run a "virtual store".

Your Checklist

How How How How How How How How How How How How How How does does does does does does does does does does does does does does it it it it it it it it it it it it it it handle handle handle handle handle handle handle handle handle handle handle handle handle handle customers? product catalogs? orders? inventory? back orders? shipment? accounts? billing? payment? foreign currency? credit cards? taxes? security? integrity (encryption)?

Also check if the most time-consuming tasks are automated. Look for automated billing, invoice handling, accounting, and report generation. Before you sign up with an ISP, surf some other e-commerce sites on their servers. Find out how it works. Try some shopping, and see if you get a good feeling. Also compare the other sites against yours, to see if it looks like you have the same needs. Contacting some of the other customers is also a valuable option.

Tax Issues
Taxes is a complex issue for on-line stores. Especially VAT (Value Added Tax). If you are selling on-line, you will most likely be in the export business. Exporting goods may not be the subject of VAT in your country, but often your customers will have to pay their local VAT when they pick up the goods. In addition, there will be the issue of income tax for your shop, depending on how you report your income from sales. Before starting an on-line store, be sure to consult a tax adviser.

147

HTML 4.01 / XHTML 1.0 Reference


Ordered Alphabetically
DTD: indicates in which HTML 4.01 / XHTML 1.0 DTD the tag is allowed. S=Strict, T=Transitional, and F=Frameset Tag <!--...--> <!DOCTYPE> <a> <abbr> <acronym> <address> <applet> <area /> <b> <base /> <basefont /> <bdo> <big> <blockquote> <body> <br /> <button> <caption> <center> Description Defines a comment Defines the document type Defines an anchor Defines an abbreviation Defines an acronym Defines contact information for the author/owner of a document Deprecated. Defines an embedded applet Defines an area inside an image-map Defines bold text Defines a default address or a default target for all links on a page Deprecated. Defines a default font, color, or size for the text in a page Defines the text direction Defines big text Defines a long quotation Defines the document's body Defines a single line break Defines a push button Defines a table caption Deprecated. Defines centered text DTD STF STF STF STF STF STF TF STF STF STF TF STF STF STF STF STF STF STF TF

148

<cite> <code> <col /> <colgroup> <dd> <del> <dfn> <dir> <div> <dl> <dt> <em> <fieldset> <font> <form> <frame /> <frameset> <h1> to <h6> <head> <hr /> <html> <i> <iframe> <img />

Defines a citation Defines computer code text Defines attribute values for one or more columns in a table Defines a group of columns in a table for formatting Defines a description of a term in a definition list Defines deleted text Defines a definition term Deprecated. Defines a directory list Defines a section in a document Defines a definition list Defines a term (an item) in a definition list Defines emphasized text Defines a border around elements in a form Deprecated. Defines font, color, and size for text Defines an HTML form for user input Defines a window (a frame) in a frameset Defines a set of frames Defines HTML headings Defines information about the document Defines a horizontal line Defines an HTML document Defines italic text Defines an inline frame Defines an image

STF STF STF STF STF STF STF TF STF STF STF STF STF TF STF F F STF STF STF STF STF TF STF

149

<input /> <ins> <isindex> <kbd> <label> <legend> <li> <link /> <map> <menu> <meta /> <noframes> <noscript>

Defines an input control Defines inserted text Deprecated. Defines a searchable index related to a document Defines keyboard text Defines a label for an input element Defines a caption for a fieldset element Defines a list item Defines the relationship between a document and an external resource Defines an image-map Deprecated. Defines a menu list Defines metadata about an HTML document Defines an alternate content for users that do not support frames Defines an alternate content for users that do not support client-side scripts Defines an embedded object Defines an ordered list Defines a group of related options in a select list Defines an option in a select list Defines a paragraph Defines a parameter for an object Defines preformatted text Defines a short quotation Deprecated. Defines strikethrough text Defines sample computer code

STF STF TF STF STF STF STF STF STF TF STF TF STF

<object> <ol> <optgroup> <option> <p> <param /> <pre> <q> <s> <samp>

STF STF STF STF STF STF STF STF TF STF

150

<script> <select> <small> <span> <strike> <strong> <style> <sub> <sup> <table> <tbody> <td> <textarea> <tfoot> <th> <thead> <title> <tr> <tt> <u> <ul> <var> <xmp>

Defines a client-side script Defines a select list (drop-down list) Defines small text Defines a section in a document Deprecated. Defines strikethrough text Defines strong text Defines style information for a document Defines subscripted text Defines superscripted text Defines a table Groups the body content in a table Defines a cell in a table Defines a multi-line text input control Groups the footer content in a table Defines a header cell in a table Groups the header content in a table Defines the title of a document Defines a row in a table Defines teletype text Deprecated. Defines underlined text Defines an unordered list Defines a variable part of a text Deprecated. Defines preformatted text

STF STF STF STF TF STF STF STF STF STF STF STF STF STF STF STF STF STF STF TF STF STF

151

HTML 4.01 / XHTML 1.0 Reference


Ordered by Function
DTD: indicates in which HTML 4.01 / XHTML 1.0 DTD the tag is allowed. S=Strict, T=Transitional, and F=Frameset Tag Basic <!DOCTYPE> <html> <body> <h1> to <h6> <p> <br /> <hr /> <!--...--> Formatting <acronym> <abbr> <address> <b> <bdo> <big> <blockquote> <center> <cite> Defines an acronym Defines an abbreviation Defines contact information for the author/owner of a document Defines bold text Defines the text direction Defines big text Defines a long quotation Deprecated. Defines centered text Defines a citation STF STF STF STF STF STF STF TF STF Defines the document type Defines an HTML document Defines the document's body Defines HTML headings Defines a paragraph Inserts a single line break Defines a horizontal line Defines a comment STF STF STF STF STF STF STF STF Description DTD

152

<code> <del> <dfn> <em> <font> <i> <ins> <kbd> <pre> <q> <s> <samp> <small> <strike> <strong> <sub> <sup> <tt> <u> <var> <xmp> Forms <form> <input />

Defines computer code text Defines deleted text Defines a definition term Defines emphasized text Deprecated. Defines font, color, and size for text Defines italic text Defines inserted text Defines keyboard text Defines preformatted text Defines a short quotation Deprecated. Defines strikethrough text Defines sample computer code Defines small text Deprecated. Defines strikethrough text Defines strong text Defines subscripted text Defines superscripted text Defines teletype text Deprecated. Defines underlined text Defines a variable part of a text Deprecated. Defines preformatted text

STF STF STF STF TF STF STF STF STF STF TF STF STF TF STF STF STF STF TF STF

Defines an HTML form for user input Defines an input control

STF STF

153

<textarea> <button> <select> <optgroup> <option> <label> <fieldset> <legend> <isindex> Frames <frame /> <frameset> <noframes> <iframe> Images <img /> <map> <area /> Links <a> <link /> Lists <ul> <ol>

Defines a multi-line text input control Defines a push button Defines a select list (drop-down list) Defines a group of related options in a select list Defines an option in a select list Defines a label for an input element Defines a border around elements in a form Defines a caption for a fieldset element Deprecated. Defines a searchable index related to a document

STF STF STF STF STF STF STF STF TF

Defines a window (a frame) in a frameset Defines a set of frames Defines an alternate content for users that do not support frames Defines an inline frame

F F TF TF

Defines an image Defines an image-map Defines an area inside an image-map

STF STF STF

Defines an anchor Defines the relationship between a document and an external resource

STF STF

Defines an unordered list Defines an ordered list

STF STF

154

<li> <dir> <dl> <dt> <dd> <menu> Tables <table> <caption> <th> <tr> <td> <thead> <tbody> <tfoot> <col /> <colgroup> Styles <style> <div> <span> Meta Info <head> <title>

Defines a list item Deprecated. Defines a directory list Defines a definition list Defines a term (an item) in a definition list Defines a description of a term in a definition list Deprecated. Defines a menu list

STF TF STF STF STF TF

Defines a table Defines a table caption Defines a header cell in a table Defines a row in a table Defines a cell in a table Groups the header content in a table Groups the body content in a table Groups the footer content in a table Defines attribute values for one or more columns in a table Defines a group of columns in a table for formatting

STF STF STF STF STF STF STF STF STF STF

Defines style information for a document Defines a section in a document Defines a section in a document

STF STF STF

Defines information about the document Defines the document title

STF STF

155

<meta> <base /> <basefont /> Programming <script> <noscript>

Defines metadata about an HTML document Defines a default address or a default target for all links on a page Deprecated. Defines a default font, color, or size for the text in a page

STF STF TF

Defines a client-side script Defines an alternate content for users that do not support client-side scripts Deprecated. Defines an embedded applet Defines an embedded object Defines a parameter for an object

STF STF

<applet> <object> <param />

TF STF STF

HTML / XHTML Standard Attributes


The attributes listed below are standard, and are supported by all HTML and XHTML tags, with a few exceptions.

Core Attributes
Not valid in base, head, html, meta, param, script, style, and title elements. Attribute class id style title Value classname id style_definition text Description Specifies a classname for an element Specifies a unique id for an element Specifies an inline style for an element Specifies extra information about an element

156

Language Attributes
Not valid in base, br, frame, frameset, hr, iframe, param, and script elements. Attribute dir Value ltr rtl language_code Description Specifies the text direction for the content in an element

lang

Specifies a language code for the content in an element. Language code reference Specifies a language code for the content in an element, in XHTML documents. Language code reference

xml:lang

language_code

Keyboard Attributes
Attribute accesskey tabindex Value character number Description Specifies a keyboard shortcut to access an element Specifies the tab order of an element

HTML / XHTML Standard Event Attributes


Standard Event Attributes
HTML 4 added the ability to let events trigger actions in a browser, like starting a JavaScript when a user clicks on an element. To learn more about programming events, please visit our JavaScript tutorial and our DHTML tutorial. Below is the standard event attributes that can be inserted into HTML / XHTML elements to define event actions.

<body> and <frameset> Events


The two attributes below can only be used in <body> or <frameset>:

157

Attribute onload onunload

Value script script

Description Script to be run when a document load Script to be run when a document unload

Form Events
The attributes below can be used in form elements: Attribute onblur onchange onfocus onreset onselect onsubmit Value script script script script script script Description Script to be run when an element loses focus Script to be run when an element change Script to be run when an element gets focus Script to be run when a form is reset Script to be run when an element is selected Script to be run when a form is submitted

Image Events
The attribute below can be used with the img element: Attribute onabort Value script Description Script to be run when loading of an image is interrupted

158

Keyboard Events
Valid in all elements except base, bdo, br, frame, frameset, head, html, iframe, meta, param, script, style, and title. Attribute onkeydown onkeypress onkeyup Value script script script Description Script to be run when a key is pressed Script to be run when a key is pressed and released Script to be run when a key is released

Mouse Events
Valid in all elements except base, bdo, br, frame, frameset, head, html, iframe, meta, param, script, style, and title. Attribute onclick ondblclick onmousedown onmousemove onmouseout Value script script script script script Description Script to be run on a mouse click Script to be run on a mouse double-click Script to be run when mouse button is pressed Script to be run when mouse pointer moves Script to be run when mouse pointer moves out of an element Script to be run when mouse pointer moves over an element Script to be run when mouse button is released

onmouseover onmouseup

script script

159

HTML Elements and Valid Doctypes


HTML/XHTML Elements and Valid DTDs
The following table lists all HTML/XHTML elements, and defines which doctype declarations (DTDs) each element appear in. Tag HTML 4.01 / XHTML 1.0 Transitional <a> <abbr> <acronym> <address> <applet> <area /> <b> <base /> <basefont /> <bdo> <big> <blockquote> <body> <br /> <button> <caption> <center> Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Strict Yes Yes Yes Yes No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes No Frameset Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes No No Yes Yes Yes Yes Yes Yes No XHTML 1.1

160

<cite> <code> <col /> <colgroup> <dd> <del> <dfn> <dir> <div> <dl> <dt> <em> <fieldset> <font> <form> <frame /> <frameset> <h1> to <h6> <head> <hr /> <html> <i> <iframe> <img />

Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes

Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes No Yes

Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes

Yes Yes No No Yes No Yes No Yes Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes No Yes

161

<input /> <ins> <isindex> <kbd> <label> <legend> <li> <link /> <map> <menu> <meta /> <noframes> <noscript> <object> <ol> <optgroup> <option> <p> <param /> <pre> <q> <s> <samp> <script>

Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes

Yes Yes No Yes Yes Yes Yes Yes Yes No Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes

Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes

Yes No No Yes Yes Yes Yes Yes No No Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes

162

<select> <small> <span> <strike> <strong> <style> <sub> <sup> <table> <tbody> <td> <textarea> <tfoot> <th> <thead> <title> <tr> <tt> <u> <ul> <var>

Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes

Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes

Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes

Yes Yes Yes No Yes Yes Yes Yes Yes No Yes Yes No Yes No Yes Yes Yes No Yes Yes

163

HTML Character Sets


HTML Character Sets
To display an HTML page correctly, the browser must know what character-set to use. The character-set for the early world wide web was ASCII. ASCII supports the numbers from 0-9, the uppercase and lowercase English alphabet, and some special characters. Complete ASCII reference. Since many countries use characters which are not a part of ASCII, the default character-set for modern browsers is ISO-8859-1. Complete ISO-8859-1 reference. If a web page uses a different character-set than ISO-8859-1, it should be specified in the <meta> tag. Try it yourself

ISO Character Sets


It is the International Standards Organization (ISO) that defines the standard character-sets for different alphabets/languages. The different character-sets being used around the world are listed below: Character set ISO-8859-1 Description Latin alphabet part 1 Covers North America, Western Europe, Latin America, the Caribbean, Canada, Africa Eastern Europe SE Europe, Esperanto, miscellaneous others Scandinavia/Baltics (and others not in ISO-88591) The languages that are using a Cyrillic alphabet such as Bulgarian, Belarusian, Russian and Macedonian

ISO-8859-2 ISO-8859-3 ISO-8859-4

Latin alphabet part 2 Latin alphabet part 3 Latin alphabet part 4

ISO-8859-5

Latin/Cyrillic part 5

164

ISO-8859-6 ISO-8859-7

Latin/Arabic part 6 Latin/Greek part 7

The languages that are using the Arabic alphabet The modern Greek language as well as mathematical symbols derived from the Greek The languages that are using the Hebrew alphabet The Turkish language. Same as ISO-8859-1 except Turkish characters replace Icelandic ones The Nordic languages

ISO-8859-8 ISO-8859-9

Latin/Hebrew part 8 Latin 5 part 9

ISO-8859-10

Latin 6 Lappish, Nordic, Eskimo Latin 9 (aka Latin 0)

ISO-8859-15

Similar to ISO 8859-1 but replaces some less common symbols with the euro sign and some other missing characters The Japanese language The Japanese language The Korean language

ISO-2022-JP ISO-2022-JP-2 ISO-2022-KR

Latin/Japanese part 1 Latin/Japanese part 2 Latin/Korean part 1

The Unicode Standard


Because the character-sets listed above are limited in size, and are not compatible in multilingual environments, the Unicode Consortium developed the Unicode Standard. The Unicode Standard covers all the characters, punctuations, and symbols in the world. Unicode enables processing, storage and interchange of text data no matter what the platform, no matter what the program, no matter what the language.

The Unicode Consortium


The Unicode Consortium develops the Unicode Standard. Their goal is to replace the existing character-sets with its standard Unicode Transformation Format (UTF). The Unicode Standard has become a success and is implemented in XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML, etc. The Unicode standard is also supported in many operating systems and all modern browsers. The Unicode Consortium cooperates with the leading standards development organizations, like ISO, W3C, and ECMA.

165

Unicode can be implemented by different character-sets. The most commonly used encodings are UTF-8 and UTF-16: Character-set UTF-8 Description A character in UTF8 can be from 1 to 4 bytes long. UTF-8 can represent any character in the Unicode standard. UTF-8 is backwards compatible with ASCII. UTF-8 is the preferred encoding for e-mail and web pages 16-bit Unicode Transformation Format is a variable-length character encoding for Unicode, capable of encoding the entire Unicode repertoire. UTF-16 is used in major operating systems and environments, like Microsoft Windows 2000/XP/2003/Vista/CE and the Java and .NET byte code environments

UTF-16

Tip: The first 256 characters of Unicode character-sets correspond to the 256 characters of ISO-88591. Tip: All HTML 4 processors already support UTF-8, and all XHTML and XML processors support UTF-8 and UTF-16!

HTML ASCII Reference


The ASCII character-set is used to send information between computers on the Internet.

The ASCII Character Set


ASCII stands for the "American Standard Code for Information Interchange". It was designed in the early 60's, as a standard character-set for computers and hardware devices like teleprinters and tapedrives. ASCII is a 7-bit character set containing 128 characters. It contains the numbers from 0-9, the uppercase and lowercase English letters from A to Z, and some special characters. The character-sets used in modern computers, HTML, and Internet are all based on ASCII. The following table lists the 128 ASCII characters and their equivalent HTML entity codes.

166

ASCII Printable Characters


ASCII Character HTML Entity Code &#32; ! " # $ % & ' ( ) * + , . / 0 1 2 3 4 5 &#33; &#34; &#35; &#36; &#37; &#38; &#39; &#40; &#41; &#42; &#43; &#44; &#45; &#46; &#47; &#48; &#49; &#50; &#51; &#52; &#53; Description space exclamation mark quotation mark number sign dollar sign percent sign ampersand apostrophe left parenthesis right parenthesis asterisk plus sign comma hyphen period slash digit 0 digit 1 digit 2 digit 3 digit 4 digit 5

167

6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M

&#54; &#55; &#56; &#57; &#58; &#59; &#60; &#61; &#62; &#63; &#64; &#65; &#66; &#67; &#68; &#69; &#70; &#71; &#72; &#73; &#74; &#75; &#76; &#77;

digit 6 digit 7 digit 8 digit 9 colon semicolon less-than equals-to greater-than question mark at sign uppercase A uppercase B uppercase C uppercase D uppercase E uppercase F uppercase G uppercase H uppercase I uppercase J uppercase K uppercase L uppercase M

168

N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e

&#78; &#79; &#80; &#81; &#82; &#83; &#84; &#85; &#86; &#87; &#88; &#89; &#90; &#91; &#92; &#93; &#94; &#95; &#96; &#97; &#98; &#99; &#100; &#101;

uppercase N uppercase O uppercase P uppercase Q uppercase R uppercase S uppercase T uppercase U uppercase V uppercase W uppercase X uppercase Y uppercase Z left square bracket backslash right square bracket caret underscore grave accent lowercase a lowercase b lowercase c lowercase d lowercase e

169

f g h i j k l m n o p q r s t u v w x y z { | }

&#102; &#103; &#104; &#105; &#106; &#107; &#108; &#109; &#110; &#111; &#112; &#113; &#114; &#115; &#116; &#117; &#118; &#119; &#120; &#121; &#122; &#123; &#124; &#125;

lowercase f lowercase g lowercase h lowercase i lowercase j lowercase k lowercase l lowercase m lowercase n lowercase o lowercase p lowercase q lowercase r lowercase s lowercase t lowercase u lowercase v lowercase w lowercase x lowercase y lowercase z left curly brace vertical bar right curly brace

170

&#126;

tilde

ASCII Device Control Characters


The ASCII device control characters were originally designed to control hardware devices. Control characters have nothing to do inside an HTML document. ASCII Character NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE HTML Entity Code &#00; &#01; &#02; &#03; &#04; &#05; &#06; &#07; &#08; &#09; &#10; &#11; &#12; &#13; &#14; &#15; &#16; Description null character start of header start of text end of text end of transmission enquiry acknowledge bell (ring) backspace horizontal tab line feed vertical tab form feed carriage return shift out shift in data link escape

171

DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US

&#17; &#18; &#19; &#20; &#21; &#22; &#23; &#24; &#25; &#26; &#27; &#28; &#29; &#30; &#31;

device control 1 device control 2 device control 3 device control 4 negative acknowledge synchronize end transmission block cancel end of medium substitute escape file separator group separator record separator unit separator

DEL

&#127;

delete (rubout)

172

HTML Language Code Reference


ISO Language Codes
The HTML lang attribute can be used to declare the language of a Web page or a portion of a Web page. This is meant to assist search engines and browsers. According to the W3C recommendation you should declare the primary language for each Web page with the lang attribute inside the <html> tag, like this:

<html lang="en"> ... </html>

In XHTML, the language is declared inside the <html> tag as follows:

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> ... </html>

ISO 639-1 Language Codes


ISO 639-1 defines abbreviations for languages. In HTML and XHTML they can be used in the lang and xml:lang attributes. Language Abkhazian Afar Afrikaans Albanian Amharic Arabic Armenian Assamese Aymara ISO Code ab aa af sq am ar hy as ay

173

Azerbaijani Bashkir Basque Bengali (Bangla) Bhutani Bihari Bislama Breton Bulgarian Burmese Byelorussian (Belarusian) Cambodian Catalan Cherokee Chewa Chinese (Simplified) Chinese (Traditional) Corsican Croatian Czech Danish Divehi Dutch Edo

az ba eu bn dz bh bi br bg my be km ca

zh zh co hr cs da

nl

174

English Esperanto Estonian Faeroese Farsi Fiji Finnish Flemish French Frisian Fulfulde Galician Gaelic (Scottish) Gaelic (Manx) Georgian German Greek Greenlandic Guarani Gujarati Hausa Hawaiian Hebrew Hindi

en eo et fo fa fj fi

fr fy

gl gd gv ka de el kl gn gu ha

he, iw hi

175

Hungarian Ibibio Icelandic Igbo Indonesian Interlingua Interlingue Inuktitut Inupiak Irish Italian Japanese Javanese Kannada Kanuri Kashmiri Kazakh Kinyarwanda (Ruanda) Kirghiz Kirundi (Rundi) Konkani Korean Kurdish Laothian

hu

is

id, in ia ie iu ik ga it ja jv kn

ks kk rw ky rn

ko ku lo

176

Latin Latvian (Lettish) Limburgish ( Limburger) Lingala Lithuanian Macedonian Malagasy Malay Malayalam

la lv li ln lt mk mg ms ml

Maltese Maori Marathi Moldavian Mongolian Nauru Nepali Norwegian Occitan Oriya Oromo (Afan, Galla) Papiamentu Pashto (Pushto) Polish

mt mi mr mo mn na ne no oc or om

ps pl

177

Portuguese Punjabi Quechua Rhaeto-Romance Romanian Russian Sami (Lappish) Samoan Sangro Sanskrit Serbian Serbo-Croatian Sesotho Setswana Shona Sindhi Sinhalese Siswati Slovak Slovenian Somali Spanish Sundanese Swahili (Kiswahili)

pt pa qu rm ro ru

sm sg sa sr sh st tn sn sd si ss sk sl so es su sw

178

Swedish Syriac Tagalog Tajik Tamazight Tamil Tatar Telugu Thai Tibetan Tigrinya Tonga Tsonga Turkish Turkmen Twi Uighur Ukrainian Urdu Uzbek Venda Vietnamese Volapk Welsh

sv

tl tg

ta tt te th bo ti to ts tr tk tw ug uk ur uz

vi vo cy

179

Wolof Xhosa Yi Yiddish Yoruba Zulu

wo xh

yi, ji yo zu

HTTP Status Messages


When a browser requests a service from a web server, an error might occur. This is a list of HTTP status messages that might be returned:
1xx: Information Message: 100 Continue Description: Only a part of the request has been received by the server, but as long as it has not been rejected, the client should continue with the request The server switches protocol

101 Switching Protocols

2xx: Successful Message: 200 OK 201 Created 202 Accepted Description: The request is OK The request is complete, and a new resource is created The request is accepted for processing, but the processing is not complete

203 Non-authoritative Information 204 No Content 205 Reset Content

180

206 Partial Content

3xx: Redirection Message: 300 Multiple Choices Description: A link list. The user can select a link and go to that location. Maximum five addresses The requested page has moved to a new url The requested page has moved temporarily to a new url The requested page can be found under a different url

301 Moved Permanently 302 Found 303 See Other 304 Not Modified 305 Use Proxy 306 Unused

This code was used in a previous version. It is no longer used, but the code is reserved The requested page has moved temporarily to a new url

307 Temporary Redirect

4xx: Client Error Message: 400 Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable Description: The server did not understand the request The requested page needs a username and a password You can not use this code yet Access is forbidden to the requested page The server can not find the requested page The method specified in the request is not allowed The server can only generate a response that is not accepted by the client You must authenticate with a proxy server before this request can be served

407 Proxy Authentication Required

181

408 Request Timeout

The request took longer than the server was prepared to wait The request could not be completed because of a conflict The requested page is no longer available The "Content-Length" is not defined. The server will not accept the request without it The precondition given in the request evaluated to false by the server The server will not accept the request, because the request entity is too large The server will not accept the request, because the url is too long. Occurs when you convert a "post" request to a "get" request with a long query information The server will not accept the request, because the media type is not supported

409 Conflict 410 Gone 411 Length Required

412 Precondition Failed

413 Request Entity Too Large

414 Request-url Too Long

415 Unsupported Media Type

416 417 Expectation Failed

5xx: Server Error Message: 500 Internal Server Error Description: The request was not completed. The server met an unexpected condition The request was not completed. The server did not support the functionality required The request was not completed. The server received an invalid response from the upstream server The request was not completed. The server is temporarily overloading or down The gateway has timed out The server does not support the "http protocol" version

501 Not Implemented

502 Bad Gateway

503 Service Unavailable

504 Gateway Timeout 505 HTTP Version Not Supported

182

183

You might also like