CS 3520: Web Development URLS and Web basics, Misc. Topics More WWW, HTTP Background information Uniform Resource Locators Hypertext Transfer Protocol (HTTP) manages the hypertext links that are used to navigate the Web ensures that Web browsers correctly process and display the various types of information contained in Web pages (text, graphics, audio, and so on) Uniform Resource Locators The protocol portion of a URL is followed by a colon, two forward slashes, and a host A host refers to a computer system that is being accessed by a remote computer The host portion of a URL is usually www for “World Wide Web” Uniform Resource Locators Domain name a unique address used for identifying a computer, often a Web server, on the Internet consists of two parts separated by a period The first part of a domain name is usually text that easily identifies a person or an organization, such as bhecker or Course Uniform Resource Locators The last part of a domain name, known as the domain identifier, identifies the type of institution or organization Common domain identifiers include .biz, .com, .edu, .info, .net, .org, .gov, .mil, or .int Uniform Resource Locators Absolute and Relative Links An absolute URL refers to the full Web address of a Web page or to a specific drive and directory A relative URL specifies the location of a file relative to the location of the currently loaded Web page Hiding Web Pages from Search Engines Your Web site may includes pages that you do not want to be included in any search engine indexes Hiding Web Pages from Search Engines For instance, you may have a page that stores personal information or private data that, although not private enough to encrypt using special security software or a protocol such as HTTPS, should not be returned to a user who performs a search in a search engine Hiding Web Pages from Search Engines You can inform search engine spiders that you do not want certain pages on your site to be indexed by placing a file named robots.tx in the root directory of the Web server that hosts your Web site This technique is called the Robots Exclusion Protocol The http-equiv Attribute When a user wants to access a Web page, either by entering its URL in a browser’s Address box or by clicking a link, the user’s Web browser asks the Web server for the Web page in what is referred to as a request The http-equiv Attribute What the Web server returns to the user is called the response One part of the response is the requested Web page The http-equiv Attribute The response header is sent to the Web browser before the Web page is sent in order to provide information that the browser needs to render the page The http-equiv Attribute One of the most important pieces of information in the response header is the type of data, or content-type, that the server is sending CS 3520: Web Development Adding Sound to your website Working with audio on the web Audio can be compelling It can add greatly to the mood of a site It can “complete” the experience Problems with audio Audio files can be extremely large Copyright issues can be troublesome Audio can be distracting Cross-platform audio is tricky Types of Audio Files Wav (very large) Mp3 (smaller, good compression) Realmedia rm (good compression, proprietary format) Midi (excellent file size, variable quality) Incorporating audio into a page Using Using Using Using a link an embed tag the bgsound tag CSS elements Linking to a sound <a href = “soundFile.wav”> External reference to sound File plays when user clicks on it File opens in another (unspecified) player Browser determines program file will be played in Using the bgsound tag <bgsound src = “soundFile.wav” > Automatically loads and plays the sound Microsoft extension to HTML No way to turn off sound (without programming) Using an embed tag <embed src = “soundFile.wav” height = “100” width = “100”> Places a player plugin inline No predicting what player is Behavior is also unpredictable Sound Example <html> <!-- sound.html --> <head> <title>Incorporating sound effects</title> </head> <body> <span style = "play-during: url(moo.wav) mix"> <a href = "moo.wav">cow</a> <!-bgsound tag works only in MSIE --> <bgsound src = "moo.wav"> <!-embed tag has its own problems --> <embed src = "moo.wav" height = "50" width = "100" /> <br /> <embed src = "Brass_Suede_Shoes.mid" height = "50" width = "100" /> </body> </html> view page in browser CS 3520: Web Development Creating Image Maps Image Maps Image maps allow users to navigate to different Web pages by clicking an image An image map consists of an image that is divided into regions Each region is then associated with a URL; these regions are called hot zones Image Maps You can open the URL associated with each region by clicking the hot zone with your mouse One of the most common uses of image maps is to create graphical menus that you can use for navigation Web Page with Image Maps Image Map Required Elements An <img> element that contains an src attribute specifying the name of the image file and a usemap attribute specifying the value assigned to the id and name attributes of the <map> element Image Map Required Elements A <map> element that specifies mapping coordinates and includes id and name attributes that have the same value as used in the <img> element usemap attribute Image Map Required Elements <area> elements nested within the <map> element that identify the coordinates within the image that will be recognized as hot zones Image Maps You precede the value you assign to the usemap attribute (which is the value assigned to the id and name attributes of the <map> element) in the <img> element by a number sign (#) Image Maps The <map> element defines the coordinates used to create an image map’s hot zones The <area> element defines a region within an image map and is nested within a <map> element Image Map Example <html> <body> <p> Click on one of the planets to watch it closer: </p> <img src="planets.gif" width="145" height="126" usemap="#planetmap"> <map id="planetmap" 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> view page in browser See the coordinates <html> <body> <p> Move the mouse over the image, and look at the status bar to see how the coordinates change. </p> <p> <a href=“image2.html"> <img src="planets.gif" ismap width="146" height="126"> </a> </p> </body> </html> view page in browser Example: Uses the mouse to control the environment <html> <!-- mouseOver.htm --> <html> <head> <title>Basic mouse over effects</title> </head> <body> <h1>Basic mouse over effects</h1> <a name = "dummy" /> <a href = "#dummy" onClick = "alert('Hey!')" onMouseOver = "document.theButton.src = 'clickMeDn.png'" onMouseOut = "document.theButton.src = 'clickMeUp.png'" > <img src = "clickMeUp.png" name = "theButton" height = "80" width = "300" border = "0" /> </a> </body> </html> view page in browser CS 3520: Web Development Cascading style sheets separating content & presentation inline vs. document vs.external sub-classes of elements pseudo-elements on to programming… Introduction to Styles and Properties To ensure that future Web page authoring separates the definition of the elements in a document from how they appear, many of the display and formatting extensions that were added to the HTML language, such as the <font> element, were deprecated in HTML 4.0 and in XHTML 1.0 in favor of CSS Introduction to Styles and Properties Cascading Style Sheets (CSS) are a standard set by the World Wide Web Consortium (W3C) for managing the design and formatting of Web pages in a Web browser Introduction to Styles and Properties A single piece of CSS formatting information, such as text alignment or font size, is referred to as a style Some of the style capabilities of CSS include the ability to change fonts, backgrounds, and colors, and to modify the layout of elements as they appear in a Web browser Introduction to Styles and Properties CSS information can be added directly to documents or stored in separate documents and shared among multiple Web pages The term “cascading” refers to the Web pages’ ability to use CSS information from more than one source CSS Properties CSS styles are created with two parts separated by a colon: the property, which refers to a specific CSS style, and the value assigned to it, which determines the style’s visual characteristics Together, a CSS property and the value assigned to it are referred to as a declaration or style declaration CSS Properties Common CSS Properties CSS Properties The properties available in CSS1 are grouped into the following categories: Color and background properties Font properties Text properties Box properties Classification properties CSS Properties CSS recommendation, Level 2 (CSS2) was released in 1998 CSS2 builds on the properties in CSS1 and includes new features such as table properties and the ability to change the appearance of the mouse pointer CSS Properties At the time of this writing, no Web browser provides complete support for the properties available in CSS2 Inline Styles The most basic method of applying styles is to use inline styles, which allow you to add style information to a single element in a document Inline Styles You use the style attribute to assign inline style information to an element You assign to the style attribute a property declaration enclosed in quotation marks CSS Values The values you can assign to a CSS property depend on what type of property it is Some properties can be assigned a range of values CSS Values For instance, you can assign any font name that is available on a user’s system to the fontfamily property For other properties, you must assign a value from a specific set of values Length Units Length units refer to the units of measure that you can use in a style declaration to determine the size or positioning of an element Whether a length unit is used for sizing or positioning depends on the property and the element to which it is assigned Length Units You assign a measurement value to a property by assigning the number that represents the measurement, immediately followed by the unit of measure Color Units A color unit represents a color value that you can assign to a property You can assign a color unit to a property using any one of 16 color names defined in the CSS1 specification Color Units Color Units Most graphical computer systems use the RGB color system for specifying colors You can also assign a color using the RGB color system Content vs. presentation most HTML tags define content type, independent of presentation style sheets associate presentation formats with HTML elements Remember, HTML style sheets are known as Cascading Style Sheets, since can be defined at three different levels 1.inline style sheets apply to the content of a single HTML element 2.document style sheets apply to the whole BODY of a document 3.external style sheets can be linked and applied to numerous documents lower-level style sheets can override higher-level style sheets Inline style sheets <html> <!-- style01.html --> <head> <title>Inline Style Sheets</title> </head> <body> <p style="font-family:Arial,sans-serif; text-align:right">This is a right-justified paragraph in a sans serif font (preferably Arial), with some <span style="color:green">green text</span>. </p> <p>And <a style="color:red; text-decoration:none; font-size:larger;" href="page01.html">here</a> is a formatted link. </p> </body> </html> view page in browser Using the style attribute, can specify presentation style for a single HTML element within tag, list sequence of property:value pairs font-family:Courier,monospace font-style:italic font-weight:bold font-size:12pt font-size:large font-size:larger color:red color:#000080 background-color:white text-decoration:underline text-decoration:none text-align:left text-align:center text-align:right text-align:justify vertical-align:top vertical-align:middle vertical-align:bottom text-indent:5em text-indent:0.2in Inline style sheets (cont.) <html> <!-- style02.html --> <head> <title>Inline Style Sheets</title> </head> <body> <p>Here is an image <img src=“heckerb.gif" alt=“Barbara Hecker” style="margin-left:0.3in; margin-right:0.3in; vertical-align:middle; border-style:double; border-color:yellow"> embedded in text. </p> <ol style="list-style-type:upper-alpha"> <li> one thing <li> or another <ul style="list-style-type:square; whitespace:pre"> <li> with this <li> or that </ul> </ol> </body> </html> more style properties & values margin-left:0.1in margin-right:5% margin:3em padding-top:0.1in padding-bottom:5% padding:3em border-width:thin border-width:thick border-width:5 border-color:red border-style:dashed border-style:dotted border-style:double border-style:none whitespace:pre list-style-type:square list-style-type:decimal list-style-type:lower-alpha list-style-type:upper-roman view page in browser Inline style sheets (cont.) <html> <!-- style03.html --> <head> <title> Inline Style Sheets </title> </head> <body> <table style="font-family:Arial,sans-serif"> <caption style="color:red; font-style:italic; text-decoration:underline"> Student data. </caption> <tr style="background-color:red"> <th> name </th> <th> age </th> </tr> <tr> <td> Chris Smith </td> <td> 19 </td> </tr> <tr> <td> Pat Jones </td> <td> 20 </td> </tr> <tr> <td> Doogie Howser </td> <td> 9 </td> </tr> </table> </body> view page in browser </html> style sheets can be applied to tables for interesting effects Document style sheets inline style sheets apply to individual elements in the page can lead to inconsistencies as similar elements are formatted differently e.g., might like for all H1 elements to be centered inline definitions mix content & presentation violates the general philosophy of HTML alternatively, document style sheets allow for a clean separation of content and presentation style definitions are placed in the HEAD of the page (within STYLE tags) can apply to all elements, or a subclass of elements, throughout the page Document style sheets <html> <!-- style04.html --> <head> <title>Document Style Sheets</title> <style type="text/css"> h1 {color:blue; text-align:center} p.indented {text-indent:0.2in} </style> </head> <body> <h1>Centered Title</h1> <p class="indented">This paragraph will have the first line indented, but subsequent lines will be flush.</p> <p>This paragraph will not be indented. </p> document style sheets ensure that similar elements are formatted similarly can even define subclasses of elements and specify formatting p.indented defines subclass of paragraphs • inherits all defaults of <p> • adds new features to specify this newly defined class, place class="ID" attribute in tag note how "clean" the BODY is <h1>The End</h1> </body> </html> view page in browser Document style sheets (cont.) <html> <!-- style05.html --> <head> <title> Inline Style Sheets </title> <style type="text/css"> table {font-family:Arial,sans-serif} caption {color:red; font-style:italic; text-decoration:underline} th {background-color:red} </style> </head> <body> <table> <caption> Student data. </caption> <tr><th> name </th> <th> age</th></tr> <tr><td> Chris Smith </td> <td> 19 </td></tr> <tr><td> Pat Jones </td> <td> 20 </td></tr> <tr><td> Doogie Howser </td> <td> 9 </td></tr> </table> </body> </html> view page in browser document style sheets are especially useful in formatting tables effectively separates content from presentation what if you wanted to rightjustify the column of numbers? what if you changed your mind? Pseudo-elements <html> <!-- style06.html --> <head> <title>Title for Page</title> <style type="text/css"> a {color : red; text-decoration : none; font-size : larger} a:visited {color : black} a:active {color : orange} a:hover {color : blue} p:first-letter {font-size : large; color : white; background-color : darkblue} </style> </head> <body> <p>Welcome to my Web page. I am so happy you are here. </p> <p>Be sure to visit <a href="http://www.cnn.com">CNN</a> for late-breaking news. </p> </body> </html> pseudo-elements are used to address sub-parts of elements can specify appearance of link in various states :visited :active :hover can specify format of first line in page or paragraph :first-line can specify format of first letter in page or paragraph :first-letter Danger : changing the look of familiar elements is confusing Careful : current browsers do not support all CSS2 features view page in browser External style sheets modularity is key to the development and reuse of software design/implement/test useful routines and classes package and make available for reuse saves in development cost & time central libraries make it possible to make a single change and propogate external style sheets place the style definitions in separate files multiple pages can link to the same style sheet, consistent look across a site possible to make a single change and propagate automatically represents the ultimate in content/representation separation Modularity & style sheets <html> <!-- style07.html <!-- myStyle.css --> <head> <title>Title for Page</title> <link rel="stylesheet" type="text/css" href="myStyle.css" title="myStyle"> </head> <body> <h1>Centered Title</h1> <p class="indented">This paragraph will have the first line indented, but subsequent lines will be flush.</p> <p>This paragraph will not be indented. </p> <h1>The End</h1> </body> </html> --> h1 {color : blue; text-align : center} p.indented {text-indent:0.2in} ideally, the developer(s) of a Web site would place all formatting options in an external style sheet all Web pages link to that same style sheet for a uniform look simplifies Web pages since only need to specify structure/content tags view page in browser How to show the creation date and URL information <html> <!-- style08.html --> <head> <title>JavaScript preview</title> </head> <body> <TABLE width="100%" border=0> <TBODY> <TR> <TD align=left> <SCRIPT language=JavaScript> document.write("<font size=1><i>"+document.location+"</i></font>"); </SCRIPT> <TD align=right> <SCRIPT language=JavaScript> document.write("<font size=1><i>"+document.lastModified+"</i></font>"); </SCRIPT> </TR></TBODY> </TABLE> </body> </html> For your assignment, you need to show the date and URL of the website The page's location and last modification date should be automatically displayed at the bottom. View the source for this Web page and cut-andpaste the appropriate text into your page in order to accomplish this. view page in browser On to programming… Your first Web programming assignment is due Thurs. 7/7 Use notepad or another plain text editor of your choice. http://www.mcs.csuhayward.edu/~bhecker/CS-3520/Assignments/Assign1.doc