internet concepts all


Published on

thank for visting

Published in: Education
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Also, the caching resolver can insert data into the cache, and can "query" the cache and the database server.
  • internet concepts all

    1. 1. Introduction to Computers and the Internet Outline Introduction History of the Internet Personal Computing History of the World Wide Web Hardware Trends Key Software Trend: Object Technology JavaScript: Object-Based Scripting for the Web C and C++ Java
    2. 2. History of the Internet <ul><li>ARPANET </li></ul><ul><ul><li>Implemented in late 1960’s by ARPA (Advanced Research Projects Agency of DOD) </li></ul></ul><ul><ul><li>Networked computer systems of a dozen universities and institutions with 56KB communications lines </li></ul></ul><ul><ul><li>Grandparent of today’s Internet </li></ul></ul><ul><ul><li>Intended to allow computers to be shared </li></ul></ul>
    3. 3. History of the Internet <ul><li>ARPA’s goals </li></ul><ul><ul><li>Allow multiple users to send and receive info at same time </li></ul></ul><ul><ul><li>Network operated packet switching technique </li></ul></ul><ul><ul><ul><li>Digital data sent in small packages called packets </li></ul></ul></ul><ul><ul><ul><li>Packets contained data, address info, error-control info and sequencing info </li></ul></ul></ul><ul><ul><ul><li>Greatly reduced transmission costs of dedicated communications lines </li></ul></ul></ul><ul><ul><li>Network designed to be operated without centralized control </li></ul></ul><ul><ul><ul><li>If portion of network fails, remaining portions still able to route packets </li></ul></ul></ul>
    4. 4. History of the Internet <ul><li>T ransmission C ontrol P rotocol (TCP) </li></ul><ul><ul><li>Name of protocols for communicating over ARPAnet </li></ul></ul><ul><ul><li>Ensured that messages were properly routed and that they arrived intact </li></ul></ul><ul><li>Organizations implemented own networks </li></ul><ul><ul><li>Used both for intra-organization and communication </li></ul></ul>
    5. 5. History of the Internet <ul><li>Huge variety of networking hardware and software appeared </li></ul><ul><ul><li>ARPA achieved inter-communication between all platforms with development of the IP </li></ul></ul><ul><ul><ul><li>Internetworking Protocol </li></ul></ul></ul><ul><ul><ul><li>Current architecture of Internet </li></ul></ul></ul><ul><ul><li>Combined set of protocols called TCP/IP </li></ul></ul><ul><li>The Internet </li></ul><ul><ul><li>Limited to universities and research institutions </li></ul></ul><ul><ul><li>Military became big user </li></ul></ul><ul><ul><li>Next, government decided to access Internet for commercial purposes </li></ul></ul>
    6. 6. History of the Internet <ul><li>Internet traffic grew </li></ul><ul><ul><li>Businesses spent heavily to improve Internet </li></ul></ul><ul><ul><ul><li>Better service their clients </li></ul></ul></ul><ul><ul><li>Fierce competition among communications carriers and hardware and software suppliers </li></ul></ul><ul><ul><li>Result </li></ul></ul><ul><ul><ul><li>Bandwidth (info carrying capacity) of Internet increased tremendously </li></ul></ul></ul><ul><ul><ul><li>Costs plummeted </li></ul></ul></ul>
    7. 7. Personal Computing <ul><li>Computers today </li></ul><ul><ul><li>As powerful as million dollar machines from 20 years ago </li></ul></ul><ul><ul><li>Workstations </li></ul></ul><ul><ul><ul><li>Most powerful desktops today </li></ul></ul></ul><ul><ul><ul><li>Provide users with enormous capabilities </li></ul></ul></ul><ul><ul><li>Information easily shared over networks </li></ul></ul><ul><ul><ul><li>Networks controlled by servers </li></ul></ul></ul><ul><ul><ul><ul><li>Common programs and data used by client computers </li></ul></ul></ul></ul><ul><ul><li>Popular operating systems </li></ul></ul><ul><ul><ul><li>UNIX, Mac OS X, Windows, Windows NT, Linux </li></ul></ul></ul>
    8. 8. History of the World Wide Web <ul><li>WWW </li></ul><ul><ul><li>Allows computer users to locate and view multimedia-based documents </li></ul></ul><ul><ul><li>Introduced in 1990 by Tim Berners-Lee </li></ul></ul><ul><li>Internet today </li></ul><ul><ul><li>Mixes computing and communications technologies </li></ul></ul><ul><ul><li>Makes information constantly and instantly available to anyone with a connection </li></ul></ul>
    9. 9. The Key Software Trend: Object Technology <ul><li>Objects </li></ul><ul><ul><li>Reusable software components that model items in the real world </li></ul></ul><ul><ul><li>Makes software developers more productive </li></ul></ul><ul><ul><li>Object-oriented programs often easier to understand, correct and modify than older types of programs </li></ul></ul>
    10. 10. The Key Software Trend: Object Technology <ul><li>Object technology </li></ul><ul><ul><li>C++, developed in 1980s, based on two languages </li></ul></ul><ul><ul><ul><li>C – Developed to implement the UNIX OS in early 1970’s </li></ul></ul></ul><ul><ul><ul><li>Simula 67 – Simulation programming language from 1967 </li></ul></ul></ul>
    11. 11. JavaScript: Object-Based Scripting for the Web <ul><li>JavaScript </li></ul><ul><ul><li>Attractive package for advancing level of programming language education </li></ul></ul><ul><ul><li>Object-based language </li></ul></ul><ul><ul><li>Supports proper software engineering techniques </li></ul></ul>
    12. 12. C and C++ <ul><li>History of C and C++ </li></ul><ul><ul><li>Evolved from B language (developed by Dennis Ritchie) </li></ul></ul><ul><ul><li>C Implemented in 1972 as contemporary of Pascal </li></ul></ul><ul><ul><ul><li>C++ developed by Bjarne Stroustrup in 1980s </li></ul></ul></ul><ul><ul><ul><li>C++ Initially used in Unix, today used in virtually all new operating systems </li></ul></ul></ul><ul><li>Advantages of C++ </li></ul><ul><ul><li>Extends C programming into object orientation </li></ul></ul><ul><ul><li>Older C code may be integrated into C++ </li></ul></ul>
    13. 13. Java <ul><li>History of Java </li></ul><ul><ul><li>Project Green (1991): developed C based language (later called Java) for intelligent consumer electronic devices </li></ul></ul><ul><ul><ul><li>Advanced by World Wide Web explosion in 1993: potential to create Web pages with dynamic content </li></ul></ul></ul><ul><ul><ul><li>Java introduced in May of 1995 </li></ul></ul></ul><ul><li>Advantages of Java </li></ul><ul><ul><li>Allows Web pages with dynamic and interactive content </li></ul></ul><ul><ul><li>Allows Large-scale enterprise applications </li></ul></ul><ul><ul><li>Enhances Web Servers </li></ul></ul><ul><ul><li>Now one of most widely implemented languages in world </li></ul></ul>
    14. 14. Microsoft .NET <ul><li>.NET initiative </li></ul><ul><ul><li>June 2000 </li></ul></ul><ul><ul><li>Use multiple programming languages in same project </li></ul></ul><ul><ul><li>Internet and Web development </li></ul></ul><ul><ul><ul><li>ASP.NET allows complex Web-based client-server applications </li></ul></ul></ul><ul><ul><ul><li>Brings software reuse to Web </li></ul></ul></ul>
    15. 15. Dynamic HTML <ul><li>DHTML </li></ul><ul><ul><li>Two versions </li></ul></ul><ul><ul><ul><li>Microsoft </li></ul></ul></ul><ul><ul><ul><li>Netscape </li></ul></ul></ul><ul><ul><li>Consists of number of technologies freely available for download </li></ul></ul><ul><ul><li>Used for developing high-performance, Web-based applications </li></ul></ul><ul><ul><ul><li>Much of application’s work performed directly on client rather than on server or Internet </li></ul></ul></ul>
    16. 16. Microsoft Internet Explorer 6 Outline Introduction to the Internet Explorer 6 Web Browser Connecting to the Internet Internet Explorer 6 Features Searching the Internet Online Help and Tutorials Keeping Track of Favorite Sites File Transfer Protocol (FTP) Electronic Mail Instant Messaging Other Web Browsers
    17. 17. Objectives <ul><li>In this tutorial, you will learn: </li></ul><ul><ul><li>To become familiar with the Microsoft Internet Explorer 6 (IE6) Web browser’s capabilities. </li></ul></ul><ul><ul><li>To be able to use IE6 to search the “world of information” available on the World Wide Web. </li></ul></ul><ul><ul><li>To be able to use the Internet as an information tool. </li></ul></ul><ul><ul><li>To become familiar with e-mail. </li></ul></ul><ul><ul><li>To learn about instant messaging. </li></ul></ul><ul><ul><li>To become aware of the differences between various browsers. </li></ul></ul>
    18. 18. Introduction <ul><li>Internet </li></ul><ul><ul><li>Medium for communication and interaction </li></ul></ul><ul><ul><li>Web Browsers </li></ul></ul><ul><ul><ul><li>Software that allows users to view Web content </li></ul></ul></ul><ul><ul><ul><ul><li>Microsoft Internet Explorer </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Netscape Navigator </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Others </li></ul></ul></ul></ul>
    19. 19. Connecting to the Internet <ul><li>Computer hardware </li></ul><ul><ul><li>Computer hardware </li></ul></ul><ul><ul><ul><li>Modem </li></ul></ul></ul><ul><ul><ul><ul><li>Transmits data over phone lines </li></ul></ul></ul></ul><ul><ul><ul><li>Network card (NIC) </li></ul></ul></ul><ul><li>Internet Service Provider (ISP) </li></ul><ul><ul><li>Commercial </li></ul></ul><ul><ul><ul><li>AOL ( ) </li></ul></ul></ul><ul><ul><ul><li>Microsoft Network ( ) </li></ul></ul></ul><ul><ul><ul><li>NetZero ( ) </li></ul></ul></ul>
    20. 20. Connecting to the Internet <ul><li>Internet Service Provider (ISP), cont. </li></ul><ul><ul><li>Considerations </li></ul></ul><ul><ul><ul><li>Cost </li></ul></ul></ul><ul><ul><ul><li>Bandwidth </li></ul></ul></ul><ul><ul><ul><ul><li>Amount of data transferred through communications medium in a fixed amount of time </li></ul></ul></ul></ul><ul><ul><li>Broadband </li></ul></ul><ul><ul><ul><li>Constantly connected </li></ul></ul></ul><ul><ul><ul><li>100’s of kbps (kilo-bits per second) </li></ul></ul></ul><ul><ul><ul><li>DSL (Digital Subscriber Line) </li></ul></ul></ul><ul><ul><ul><ul><li>Uses existing phone lines </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Requires DSL modem </li></ul></ul></ul></ul>
    21. 21. Connecting to the Internet <ul><li>Internet Service Provider (ISP), cont. </li></ul><ul><ul><li>Broadband, cont. </li></ul></ul><ul><ul><ul><li>Cable Modem </li></ul></ul></ul><ul><ul><ul><ul><li>Use cable television lines </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Requires cable modem </li></ul></ul></ul></ul><ul><ul><ul><li>ISDN (Integrated Services Digital Network) </li></ul></ul></ul><ul><ul><ul><ul><li>Uses digital or standard telephone lines </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Requires a terminal adaptor </li></ul></ul></ul></ul><ul><ul><li>Dial-up connection </li></ul></ul><ul><ul><ul><li>Uses existing phone lines </li></ul></ul></ul><ul><ul><ul><li>Interferes with phone use </li></ul></ul></ul><ul><ul><ul><li>Must dial-up with modem. </li></ul></ul></ul><ul><ul><ul><li>Usually 56 kbps (kilo-bits per second) </li></ul></ul></ul>
    22. 22. Connecting to the Internet <ul><li>Internet Connection Wizard </li></ul><ul><ul><li>Use this application to configure computer’s Internet connection. </li></ul></ul><ul><ul><li>Start > Programs > Accessories > Communications > Internet Connection Wizard </li></ul></ul><ul><ul><ul><li>Tutorial available on Windows 2000 </li></ul></ul></ul>
    23. 23. Connecting to the Internet Fig. 2.1 Internet Connection Wizard helps configure Internet access. Tutorial button Specify what type of connection to use by clicking one of the option buttons
    24. 24. Internet Explorer 6 Features <ul><li>Web browser </li></ul><ul><ul><li>Program which displays Internet content </li></ul></ul><ul><ul><ul><li>Microsoft Internet Explorer 6 </li></ul></ul></ul><ul><ul><ul><li>Netscape 7.1 </li></ul></ul></ul><ul><ul><li>URL (Uniform/Universal Resource Locator) </li></ul></ul><ul><ul><ul><li>Web page address </li></ul></ul></ul><ul><ul><ul><ul><li>HTTP (hyper-text transfer protocol) </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Protocol for transferring data over the Internet </li></ul></ul></ul></ul></ul><ul><ul><ul><li>Type in Address field </li></ul></ul></ul><ul><ul><li>Hyperlinks </li></ul></ul><ul><ul><ul><li>Graphical or textual elements </li></ul></ul></ul><ul><ul><ul><ul><li>Click to link to another Web page </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Loads new page into browser window </li></ul></ul></ul></ul>
    25. 25. Internet Explorer 6 Features <ul><li>Web browser, cont. </li></ul><ul><ul><li>History </li></ul></ul><ul><ul><ul><li>Lists recently visited Web sites </li></ul></ul></ul><ul><ul><ul><li>Forward / Back buttons </li></ul></ul></ul><ul><ul><ul><li>Refresh button </li></ul></ul></ul><ul><ul><ul><li>History button </li></ul></ul></ul><ul><ul><ul><ul><li>Divides window and lists recently-visited sites on left </li></ul></ul></ul></ul>
    26. 26. Internet Explorer 6 Features Fig. 2.2 Deitel Website. Back Recent history Forward Stop Refresh Address bar Go Pointer (over a hyperlink) Scroll bars
    27. 27. Internet Explorer 6 Features Fig. 2.3 The History menu lists previously visited Web sites. Interactive History window History date options Site from folder Web site folder Click and drag here to resize Content window
    28. 28. Internet Explorer 6 Features <ul><li>Web browser, cont. </li></ul><ul><ul><li>Autocomplete </li></ul></ul><ul><ul><ul><li>Completes Web address as it is being typed </li></ul></ul></ul><ul><ul><ul><li>Completes form information as it is being typed </li></ul></ul></ul><ul><ul><li>File options </li></ul></ul><ul><ul><ul><li>Save Web page for off-line use </li></ul></ul></ul><ul><ul><ul><ul><li>File > Save As </li></ul></ul></ul></ul><ul><ul><ul><li>Save pictures from a Web site </li></ul></ul></ul><ul><ul><ul><ul><li>Right click image </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Choose Save Picture As… </li></ul></ul></ul></ul></ul>
    29. 29. Internet Explorer 6 Features Fig. 2.4 AutoComplete suggests possible URLs when given a partial address. Partial address URLs
    30. 30. Internet Explorer 6 Features Fig. 2.5 Saving a picture from a Web site.
    31. 31. Searching the Internet <ul><li>Search engines </li></ul><ul><ul><li>Web sites that sort through by keywords and categories </li></ul></ul><ul><ul><ul><li>Google ( ) </li></ul></ul></ul><ul><ul><ul><li>Yahoo! ( ) </li></ul></ul></ul><ul><ul><ul><li>Lycos ( ) </li></ul></ul></ul><ul><ul><ul><li>Altavista ( ) </li></ul></ul></ul><ul><ul><li>Store information in databases </li></ul></ul><ul><ul><li>Returns list of sites as hyperlinks </li></ul></ul><ul><li>Meta-search engines </li></ul><ul><ul><li>Do not maintain databases </li></ul></ul><ul><ul><li>Aggregate results from multiple search engines </li></ul></ul><ul><ul><li>Microsoft Network ( ) </li></ul></ul><ul><ul><ul><li>Click Search button in toolbar </li></ul></ul></ul><ul><ul><li>MetaCrawler ( ) </li></ul></ul>
    32. 32. Online Help and Tutorials Fig. 2.6 Searching the Internet with IE6. New search Search window Search categories Search words Search button Toolbar
    33. 33. Online Help and Tutorials <ul><li>IE 6 built-in help feature </li></ul><ul><ul><li>Help > Tour </li></ul></ul><ul><ul><ul><li>Overview of IE 6 </li></ul></ul></ul><ul><ul><li>Help > Contents and Index </li></ul></ul><ul><ul><ul><li>Search for help on specific topic </li></ul></ul></ul>
    34. 34. Online Help and Tutorials Fig. 2.7 IE6 Help dialog. Help menu Categories
    35. 35. Keeping Track of Favorite Sites <ul><li>Favorites </li></ul><ul><ul><li>List organizes frequently-visited sites </li></ul></ul><ul><ul><li>Add sites to list </li></ul></ul><ul><ul><ul><li>Favorites > Add to Favorites… </li></ul></ul></ul><ul><ul><li>Organize list </li></ul></ul><ul><ul><ul><li>Favorites > Organize Favorites… </li></ul></ul></ul>
    36. 36. Keeping Track of Favorite Sites Fig. 2.8 Favorites menu helps organize frequently visited Web sites. Add/Organize Favorites Favorites Favorites window Site information Organize Favorites dialog
    37. 37. File Transfer Protocol (FTP) <ul><li>Downloading </li></ul><ul><ul><li>Transfer files from remote servers over the Internet to a local computer </li></ul></ul><ul><ul><ul><li>Usually applications, browser plug-ins or files </li></ul></ul></ul><ul><ul><ul><li>Plug-ins </li></ul></ul></ul><ul><ul><ul><ul><li>Applications which work with Web browsers to add functionality </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Shockwave ( ) </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Adobe Acrobat ( ) </li></ul></ul></ul></ul></ul><ul><ul><li>Use FTP (File Transfer Protocol) </li></ul></ul><ul><ul><ul><li>ftp:// </li></ul></ul></ul><ul><ul><ul><li>FTP site </li></ul></ul></ul><ul><ul><ul><ul><li>May require login and password </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Right click file in FTP directory and copy to hard drive </li></ul></ul></ul></ul>
    38. 38. File Transfer Protocol (FTP) Fig. 2.9 FTP site access in IE6. FTP address Folders in the FTP directory File Login window
    39. 39. Electronic Mail <ul><li>E-mail (electronic mail) </li></ul><ul><ul><li>Delivers formatted messages over Internet </li></ul></ul><ul><ul><li>E-mail address </li></ul></ul><ul><ul><ul><li>[email_address] </li></ul></ul></ul><ul><ul><li>Email Programs </li></ul></ul><ul><ul><ul><li>Eudora </li></ul></ul></ul><ul><ul><ul><li>Pegasus </li></ul></ul></ul><ul><ul><ul><li>Outlook Express </li></ul></ul></ul><ul><ul><li>Free email accounts </li></ul></ul><ul><ul><ul><li>Hotmail ( ) </li></ul></ul></ul><ul><ul><ul><li>Yahoo! ( ) </li></ul></ul></ul>
    40. 40. Electronic Mail <ul><li>E-mail (electronic mail), cont. </li></ul><ul><ul><li>Post Office Protocol (POP) </li></ul></ul><ul><ul><ul><li>Remote server </li></ul></ul></ul><ul><ul><ul><li>Download to local client </li></ul></ul></ul><ul><ul><ul><li>E-mail scattered </li></ul></ul></ul><ul><ul><li>Internet Message Access Protocol (IMAP) </li></ul></ul><ul><ul><ul><li>Manipulate messages directly on server </li></ul></ul></ul><ul><ul><ul><li>Access all your e-mail from any machine </li></ul></ul></ul><ul><ul><li>Simple Mail Transfer Protocol (SMTP) </li></ul></ul><ul><ul><ul><li>Used to send e-mail </li></ul></ul></ul>
    41. 41. Instant Messaging Fig. 2.11 Outlook Express e-mail main screen.. Message list Address book Preview pane Mailboxes Message toolbar items
    42. 42. Instant Messaging <ul><li>Instant Messaging </li></ul><ul><ul><li>Communicate (“chat”) in real time </li></ul></ul><ul><ul><li>Send audio, video and files </li></ul></ul><ul><ul><li>Several popular services </li></ul></ul><ul><ul><ul><li>AOL Instant Messenger ( ) </li></ul></ul></ul><ul><ul><ul><li>Yahoo! Messenger ( ) </li></ul></ul></ul><ul><ul><ul><li>ICQ ( ) </li></ul></ul></ul><ul><ul><ul><li>MSN Messenger ( ) </li></ul></ul></ul><ul><ul><li>Trillian ( ) </li></ul></ul><ul><ul><ul><li>Able to communicate with all of the above </li></ul></ul></ul>
    43. 43. Instant Messaging <ul><li>Instant Messaging </li></ul><ul><ul><li>Communicate (“chat”) in real time </li></ul></ul><ul><ul><li>Send audio, video and files </li></ul></ul><ul><ul><li>Several popular services </li></ul></ul><ul><ul><ul><li>AOL Instant Messenger ( ) </li></ul></ul></ul><ul><ul><ul><li>Yahoo! Messenger ( ) </li></ul></ul></ul><ul><ul><ul><li>ICQ ( ) </li></ul></ul></ul><ul><ul><ul><li>MSN Messenger ( ) </li></ul></ul></ul><ul><ul><li>Trillian ( ) </li></ul></ul><ul><ul><ul><li>Able to communicate with all of the above </li></ul></ul></ul>
    44. 44. Instant Messaging <ul><li>Instant Messaging, cont. </li></ul><ul><ul><li>Some instant messaging tools designed for collaboration </li></ul></ul><ul><ul><ul><li>NetMeeting </li></ul></ul></ul><ul><ul><ul><li>Windows Messenger </li></ul></ul></ul><ul><ul><ul><li>Include whiteboard feature to share drawings </li></ul></ul></ul><ul><ul><li>Screen name </li></ul></ul><ul><ul><ul><li>Unique identifier </li></ul></ul></ul><ul><ul><li>Buddy List </li></ul></ul><ul><ul><ul><li>Maintains list of screen names </li></ul></ul></ul>
    45. 45. Instant Messaging Fig. 2.12 Buddy list and an instant message. Buddy list Instant message
    46. 46. Other Browsers <ul><li>Alternatives to Internet Explorer and Netscape </li></ul><ul><ul><li>Offer new/different features and layout engines </li></ul></ul><ul><ul><ul><li>Mozilla ( ) </li></ul></ul></ul><ul><ul><ul><ul><li>Uses Gecko layout engine, basis for Netscape 7.1 </li></ul></ul></ul></ul><ul><ul><ul><li>Opera ( ) </li></ul></ul></ul><ul><ul><ul><ul><li>Lightweight </li></ul></ul></ul></ul><ul><ul><ul><li>Amaya ( ) </li></ul></ul></ul><ul><ul><ul><ul><li>Browser/editor </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Demonstrates W3C standards </li></ul></ul></ul></ul><ul><ul><li>Each layout engine displays websites differently </li></ul></ul><ul><ul><ul><li>Testing on multiple browsers important </li></ul></ul></ul>
    47. 47. Other Browsers Fig. 2.13 Mozilla web browser.
    48. 48. SMTP and FTP
    49. 49. 26.1 Electronic Mail Sending/Receiving Mail Addresses User Agent MIME Mail Transfer Agent Mail Access Protocols
    50. 50. Figure 26.2 Email address
    51. 51. Figure 26.3 User agent
    52. 52. Figure 26.4 MIME
    53. 53. Figure 26.5 MIME header
    54. 54. Table 26.1 Data types and subtypes in MIME General binary data (8-bit bytes) Octet-Stream Adobe PostScript PostScript Application Single-channel encoding of voice at 8 KHz Basic Audio Video is in MPEG format MPEG Video Video is in GIF format GIF Image is in JPEG JPEG Image Body is a reference to another message Ext. Body Partial RFC822 Alternative Digest Parallel Mixed Plain Subtype Body is a fragment of a bigger message Body is an encapsulated message Message Parts are different versions of the same message Similar to mixed, but the default is message/RFC822 Same as above, but no order Body contains ordered parts of different data types Multiport Unformatted text Text Description Type
    55. 55. Table 26.2 Content-transfer encoding Non-ASCII characters are encoded as an equal sign followed by an ASCII code 6-bit blocks of data are encoded into 8-bit ASCII characters Non-ASCII characters with unlimited-length lines Non-ASCII characters and short lines ASCII characters and short lines Description Base64 Binary 8bit 7bit Type Category
    56. 56. Figure 26. 6 Base64
    57. 57. Table 26.3 Base64 encoding table 2 1 0 z y x w v u t s Code 63 62 61 60 59 58 57 56 55 Value / + 9 8 7 6 5 4 3 Code 43 42 41 40 39 38 37 36 35 34 33 Value r q p o n m l k j i h Code 54 53 52 51 50 49 48 47 46 45 44 Value V U T S R Q P O N M L Code 32 31 30 29 28 27 26 25 24 23 22 Value g f e d c b a Z Y X W Code 21 20 19 18 17 16 15 14 13 12 11 Value K J I H G F E D C B A Code 9 10 6 7 8 3 4 5 2 1 0 Value
    58. 58. Figure 26.7 Quoted-printable
    59. 59. Figure 26.8 MTA client and server
    60. 60. Figure 26.9 Commands and responses
    61. 61. Figure 26.10 Email delivery
    62. 62. Figure 26.11 POP3
    63. 63. 26.2 File Transfer Connections Communication File Transfer User Interface Anonymous
    64. 64. Figure 26.12 FTP
    65. 65. Figure 26.13 Using the control connection
    66. 66. Figure 26.14 Using the data connection
    67. 67. Figure 26.15 File transfer
    68. 68. Example 1 <ul><li>Figure 26.16 (next slide) shows an example of how a file is stored. </li></ul><ul><li>The control connection is created, and several control commands and responses are exchanged. </li></ul><ul><li>Data are transferred record by record. </li></ul><ul><li>A few commands and responses are exchanged to close the connection. </li></ul>
    69. 69. Figure 26.16 Example 1
    70. 70. Table 26.4 List of FTP commands in UNIX !, $, account, append, ascii, bell, binary, bye, case, cd, cdup, close, cr, delete, debug, dir, discount, form, get, glob, hash, help, lcd, ls, macdef, mdelete, mdir, mget, mkdir, mls, mode, mput, nmap, ntrans, open, prompt, proxy, sendport, put, pwd, quit, quote, recv, remotehelp, rename, reset, rmdir, runique, send, status, struct, sunique, tenex, trace, type, user, verbose,? Commands
    71. 71. Example 2 We show some of the user interface commands that accomplish the same task as in Example 1. The user input is shown in boldface. As shown below, some of the commands are provided automatically by the interface. The user receives a prompt and provides only the arguments. $ ftp Connected to 220 Server ready Name: forouzan Password: xxxxxxx ftp > ls /usr/user/report 200 OK 150 Opening ASCII mode ........... ........... 226 transfer complete ftp > close 221 Goodbye ftp > quit
    72. 72. Example 3 We show an example of using anonymous FTP. We connect to, where we assume there are some public data available. $ ftp Connected to 220 Server ready Name: anonymous 331 Guest login OK, send &quot;guest&quot; as password Password: guest ftp > pwd 257 '/' is current directory ftp > ls 200 OK 150 Opening ASCII mode bin ... ftp > close 221 Goodbye ftp > quit
    73. 73. <ul><li>Domain Name System (DNS) </li></ul>
    74. 81. TCP/IP Transmission Control Protocol / Internet Protocol
    75. 82. TCP Transmission Control Protocol <ul><li>TCP is an alternative transport layer protocol over IP. </li></ul><ul><li>TCP provides: </li></ul><ul><ul><li>Connection-oriented </li></ul></ul><ul><ul><li>Reliable </li></ul></ul><ul><ul><li>Full-duplex </li></ul></ul><ul><ul><li>Byte-Stream </li></ul></ul>
    76. 83. Connection-Oriented <ul><li>Connection oriented means that a virtual connection is established before any user data is transferred. </li></ul><ul><li>If the connection cannot be established - the user program is notified. </li></ul><ul><li>If the connection is ever interrupted - the user program(s) is notified. </li></ul>
    77. 84. Reliable <ul><li>Reliable means that every transmission of data is acknowledged by the receiver. </li></ul><ul><li>If the sender does not receive acknowledgement within a specified amount of time, the sender retransmits the data. </li></ul>
    78. 85. Byte Stream <ul><li>Stream means that the connection is treated as a stream of bytes. </li></ul><ul><li>The user application does not need to package data in individual datagrams (as with UDP). </li></ul>
    79. 86. Full Duplex <ul><li>TCP provides transfer in both directions. </li></ul>
    80. 87. TCP Ports <ul><li>Interprocess communication via TCP is achieved with the use of ports (just like UDP). </li></ul><ul><li>UDP ports have no relation to TCP ports (different name spaces). </li></ul>
    81. 88. TCP Segments <ul><li>The chunk of data that TCP asks IP to deliver is called a TCP segment . </li></ul><ul><li>Each segment contains: </li></ul><ul><ul><li>data bytes from the byte stream </li></ul></ul><ul><ul><li>control information that identifies the data bytes </li></ul></ul>
    82. 89. TCP Segment Format Destination Port Options (if any) Data 1 byte 1 byte Source Port Sequence Number Acknowledgment Number 1 byte 1 byte offset Reser. Control Window Checksum Urgent Pointer
    83. 90. TCP Lingo <ul><li>When a client requests a connection it sends a “SYN” segment (a special TCP segment) to the server port. </li></ul><ul><li>SYN stands for synchronize. The SYN message includes the client’s ISN. </li></ul><ul><li>ISN is Initial Sequence Number. </li></ul>
    84. 91. More... <ul><li>Every TCP segment includes a Sequence Number that refers to the first byte of data included in the segment. </li></ul><ul><li>Every TCP segment includes an Acknowledgement Number that indicates the byte number of the next data that is expected to be received. </li></ul><ul><ul><li>All bytes up through this number have already been received. </li></ul></ul>
    85. 92. And more... <ul><li>There are a bunch of control flags: </li></ul><ul><ul><li>URG: urgent data included. </li></ul></ul><ul><ul><li>ACK: this segment is (among other things) an acknowledgement. </li></ul></ul><ul><ul><li>RST: error – connection must be reset. </li></ul></ul><ul><ul><li>SYN: synchronize Sequence Numbers (setup) </li></ul></ul><ul><ul><li>FIN: polite connection termination. </li></ul></ul>
    86. 93. TCP Connection Creation <ul><li>A server accepts a connection. </li></ul><ul><ul><li>Must be looking for new connections! </li></ul></ul><ul><li>A client requests a connection. </li></ul><ul><ul><li>Must know where the server is! </li></ul></ul>
    87. 94. Client Starts <ul><li>A client starts by sending a SYN segment with the following information: </li></ul><ul><ul><li>Client’s ISN (generated pseudo-randomly) </li></ul></ul><ul><ul><li>Maximum Receive Window for client. </li></ul></ul>
    88. 95. Server Response <ul><li>When a waiting server sees a new connection request, the server sends back a SYN segment with: </li></ul><ul><ul><li>Server’s ISN (generated pseudo-randomly) </li></ul></ul><ul><ul><li>Request Number is Client ISN+1 </li></ul></ul>
    89. 96. Finally <ul><li>When the Server’s SYN is received, the client sends back an ACK with: </li></ul><ul><ul><li>Acknowledgment Number is Server’s ISN+1 </li></ul></ul>
    90. 97. SYN ISN= X Client Server SYN ISN= Y ACK= X +1 ACK= Y +1 1 2 3
    91. 98. Why 3-Way? <ul><li>Why is the third message necessary? </li></ul><ul><li>HINTS: </li></ul><ul><ul><li>TCP is a reliable service. </li></ul></ul><ul><ul><li>IP delivers each TCP segment. </li></ul></ul><ul><ul><li>IP is not reliable. </li></ul></ul>
    92. 99. TCP Data and ACK <ul><li>Once the connection is established, data can be sent. </li></ul><ul><li>Each data segment includes a sequence number identifying the first byte in the segment. </li></ul><ul><li>Each segment (data or empty) includes a request number indicating what data has been received. </li></ul>
    93. 100. TCP Buffers <ul><li>Both the client and server allocate buffers to hold incoming and outgoing data </li></ul><ul><ul><li>The TCP layer does this. </li></ul></ul><ul><li>Both the client and server announce with every ACK how much buffer space remains (the Window field in a TCP segment). </li></ul>
    94. 101. Send Buffers <ul><li>The application gives the TCP layer some data to send. </li></ul><ul><li>The data is put in a send buffer, where it stays until the data is ACK’d. </li></ul><ul><li>The TCP layer won’t accept data from the application unless (or until) there is buffer space. </li></ul>
    95. 102. ACKs <ul><li>A receiver doesn’t have to ACK every segment (it can ACK many segments with a single ACK segment). </li></ul><ul><li>If a sender doesn’t get an ACK after some time limit, it resends the data. </li></ul>
    96. 103. Termination <ul><li>The TCP layer can send a RST segment that terminates a connection if something is wrong. </li></ul><ul><li>Usually the application tells TCP to terminate the connection politely with a FIN segment. </li></ul>
    97. 104. FIN <ul><li>Either end of the connection can initiate termination. </li></ul><ul><li>A FIN is sent, which means the application is done sending data. </li></ul><ul><li>The FIN is ACK’d. </li></ul><ul><li>The other end must now send a FIN. </li></ul><ul><li>That FIN must be ACK’d. </li></ul>
    98. 105. FIN SN= X App1 App2 ACK= X +1 ACK= Y +1 1 2 4 FIN SN= Y 3 ...
    99. 106. TCP TIME_WAIT <ul><li>Once a TCP connection has been terminated (the last ACK sent) there is some unfinished business: </li></ul><ul><ul><li>What if the ACK is lost? The last FIN will be resent and it must be ACK’d. </li></ul></ul>
    100. 107. TCP Sockets Programming <ul><li>Creating a passive mode (server) socket. </li></ul><ul><li>Establishing an application-level connection . </li></ul><ul><li>Sending/receiving data. </li></ul><ul><li>Terminating a connection. </li></ul>
    101. 108. Establishing a passive mode TCP socket <ul><li>Passive mode: </li></ul><ul><ul><li>Address already determined. </li></ul></ul><ul><ul><li>Tell the kernel to accept incoming connection requests directed at the socket address. </li></ul></ul><ul><ul><ul><li>3-way handshake </li></ul></ul></ul><ul><ul><li>Tell the kernel to queue incoming connections for us. </li></ul></ul>
    102. 109. Accepting an incoming connection. <ul><li>Once we start listening on a socket, the O.S. will queue incoming connections </li></ul><ul><ul><li>Handles the 3-way handshake </li></ul></ul><ul><ul><li>Queues up multiple connections. </li></ul></ul><ul><li>When our application is ready to handle a new connection, we need to ask the O.S. for the next connection. </li></ul>
    103. 110. Terminating a TCP connection <ul><li>Either end of the connection can call the close() system call. </li></ul><ul><li>If the other end has closed the connection, and there is no buffered data, reading from a TCP socket returns 0 to indicate EOF. </li></ul>
    104. 111. Client Code <ul><li>TCP clients can connect to a server, which: </li></ul><ul><ul><li>takes care of establishing an endpoint address for the client socket. </li></ul></ul><ul><ul><li>Attempts to establish a connection to the specified server. </li></ul></ul><ul><ul><ul><li>3-way handshake </li></ul></ul></ul>
    105. 112. Reading from a TCP socket <ul><li>By default read() will block until data is available. </li></ul><ul><li>Reading from a TCP socket may return less than max bytes (whatever is available). </li></ul><ul><li>You must be prepared to read data 1 byte at a time! </li></ul>
    106. 113. Writing to a TCP socket <ul><li>write might not be able to write all bytes (on a nonblocking socket). </li></ul>
    107. 114. Java Sockets Programming <ul><li>The package provides support for sockets programming </li></ul><ul><li>Typically you import everything defined in this package with: </li></ul><ul><li>import*; </li></ul>
    108. 115. Classes <ul><li>InetAddress </li></ul><ul><li>Socket </li></ul><ul><li>ServerSocket </li></ul><ul><li>DatagramSocket </li></ul><ul><li>DatagramPacket </li></ul>UDP
    109. 116. Socket class <ul><li>Corresponds to active TCP sockets only! </li></ul><ul><ul><li>client sockets </li></ul></ul><ul><ul><li>socket returned by accept(); </li></ul></ul><ul><li>Passive sockets are supported by a different class: ServerSocket </li></ul>
    110. 117. Socket Constructors <ul><li>Constructor creates a TCP connection to a named TCP server. </li></ul><ul><ul><li>There are a number of constructors: </li></ul></ul><ul><ul><li>Socket(InetAddress server, int port); </li></ul></ul><ul><ul><li>Socket(InetAddress server, int port, </li></ul></ul><ul><ul><li>InetAddress local, int localport); </li></ul></ul><ul><ul><li>Socket(String hostname, int port); </li></ul></ul>
    111. 118. Socket Methods <ul><li>void close(); </li></ul><ul><li>InetAddress getInetAddress(); getpeername </li></ul><ul><li>InetAddress getLocalAddress(); getsockname </li></ul><ul><li>InputStream getInputStream(); </li></ul><ul><li>OutputStream getOutputStream(); </li></ul><ul><li>Lots more (setting/getting socket options, partial close, etc.) </li></ul>
    112. 119. Socket I/O <ul><li>Socket I/O is based on the Java I/O support (in the package ). </li></ul><ul><li>InputStream and OutputStream are abstract classes </li></ul><ul><ul><li>common operations defined for all kinds of InputStreams, OutputStreams… </li></ul></ul>
    113. 120. ServerSocket Class (TCP Passive Socket) <ul><li>Constructors: </li></ul><ul><li>ServerSocket(int port); </li></ul><ul><li>ServerSocket(int port, int backlog); </li></ul><ul><li>ServerSocket(int port, int backlog, </li></ul><ul><li>InetAddress bindAddr); </li></ul>
    114. 121. ServerSocket Methods <ul><li>Socket accept(); </li></ul><ul><li>void close(); </li></ul><ul><li>InetAddress getInetAddress(); </li></ul><ul><li>int getLocalPort(); </li></ul><ul><li>throw IOException, SecurityException </li></ul>
    115. 122. NEWSGROUPS
    116. 123. Newsgroups <ul><li>Newsgroups-electronic discussion groups where user reads and post message “posted” by a user can be read by several people </li></ul><ul><li>Usenet-network of news groups </li></ul><ul><li>Messages posted on one newsgroup are distributed through Usenet network </li></ul><ul><li>Different topics covered by newsgroups </li></ul><ul><ul><ul><ul><li>Recreational </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Technical </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Social area </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Etc. </li></ul></ul></ul></ul>
    117. 124. <ul><li>To access newsgroups you need </li></ul><ul><ul><li>access to a news server </li></ul></ul><ul><ul><li>a news reader (client) </li></ul></ul><ul><ul><li>You must “subscribe” to the group </li></ul></ul><ul><li>News server must be maintained by a news administrator </li></ul><ul><ul><li>Decides which groups will be delivered to a site </li></ul></ul>Newsgroups
    118. 125. Top Level for Names in News <ul><li>Groups </li></ul><ul><li>rec – Arts, hobbies, etc. </li></ul><ul><li>news – Usenet news </li></ul><ul><li>comp – Computer topics </li></ul><ul><li>soc – Social issues </li></ul><ul><li>sci – Scientific topics </li></ul><ul><li>misc – Topics don’t fit into any other category </li></ul><ul><li>alt – Alternative groups – often specific to the site </li></ul>
    119. 126. Format for Posted Articles <ul><li>Two parts: header and body </li></ul><ul><li>Header (some common fields) </li></ul><ul><li>Path: list of news servers involved in the transit of the article </li></ul><ul><li>From: Address of person that posted the message </li></ul><ul><li>Newsgroups: List of groups to which article was posted </li></ul><ul><li>Subject or Summary </li></ul><ul><li>Organization: Company or school associated with the person who posted the article </li></ul>
    120. 127. UUCP – Unix to Unix copy <ul><li>Allows remote execution of commands and transfer of files, email and net news between computers </li></ul><ul><li>Most commanly used for dial up connections </li></ul>
    121. 128. <ul><li>Equipped with modem – so that they can communicate remotly. </li></ul><ul><li>Each uucp network has the list of neighbor systems with phone number, login names and passwords. </li></ul>
    122. 129. Internet Explorer and the World Wide Web
    123. 130. Terminology <ul><li>HTTP – HyperText Transfer Protocol is used to transmit Web documents </li></ul><ul><li>HTTPS – Secure protocol for confidential transactions </li></ul><ul><li>HTML – The language in which all Web documents are displayed </li></ul><ul><li>TCP/IP – A suite of protocols that allows multiple platforms to communicate </li></ul><ul><li>URL – Uniform Resource Locator </li></ul><ul><li>Web Server – Computers that store hypertext and/or hypermedia documents and make them available to other computers </li></ul><ul><li>Web Client – Personal computers that access files held by web servers </li></ul><ul><li>Web Browser – Software application to locate and display web pages </li></ul>
    124. 131. Hyperlinks <ul><li>The essence of the Web as you click on a link to more to the next document, which may be stored on a different computer </li></ul><ul><li>Hyperlinks may contain text, graphics, sound, or video links </li></ul><ul><ul><li>Blue underlined fonts are unexplored </li></ul></ul><ul><ul><li>Magenta links have been previously accessed </li></ul></ul>
    125. 132. The Web is always changing Address bar (address is constant, but the content changes) Hyperlinks Print button
    126. 133. Uniform Resource Locator (URL) Means of access, HyperText Transfer Protocol Internet Address (Web site) Document Path (Directory or Folder)
    127. 134. Domain Names <ul><li>Original Six: </li></ul><ul><ul><li>.edu (education) </li></ul></ul><ul><ul><li>.com (commercial) </li></ul></ul><ul><ul><li>.gov (government) </li></ul></ul><ul><ul><li>.mil (military) </li></ul></ul><ul><ul><li>.net (network administration) </li></ul></ul><ul><ul><li>.org (non-profit) </li></ul></ul><ul><li>New domains: </li></ul><ul><ul><li>.biz (business) </li></ul></ul><ul><ul><li>.pro (licensed professional) </li></ul></ul><ul><ul><li>.info (information services) </li></ul></ul><ul><ul><li>.uk (United Kingdom) </li></ul></ul><ul><ul><li>.ca (Canada) </li></ul></ul><ul><ul><li>.au (Australia) </li></ul></ul>
    128. 135. Examples of URLs <ul><li>My school: </li></ul><ul><li>Exploring Windows: </li></ul><ul><li>My favorite site: </li></ul><ul><li>Anti-virus updates: </li></ul><ul><li>Download software: </li></ul>
    129. 136. A message travels the Internet <ul><ul><li>All that matters is the beginning and ending address </li></ul></ul>
    130. 137. Searching the Web <ul><li>Search Engines </li></ul><ul><li>Web Directories </li></ul><ul><li>Meta Search Engines </li></ul><ul><li>Clearinghouse </li></ul>
    131. 138. Search Engines <ul><li>A program that systematically searches the Web for documents on a specific topic </li></ul><ul><li>Uses a key word or words as a query </li></ul><ul><li>Several search engines are available </li></ul><ul><li>Each search engine has its own database </li></ul><ul><li>No search engine is best </li></ul><ul><li>Uses Boolean (logical) operators </li></ul><ul><li>Returns “hits” or documents once search has been submitted </li></ul>
    132. 139. Popular Web Search Engines
    133. 140. Web Site and Saving an Image Choose Save Picture As command Right click picture for context-sensitive menu
    134. 141. Security and Privacy <ul><li>Secure transactions </li></ul><ul><ul><li>https protocol </li></ul></ul><ul><ul><li>Encryption </li></ul></ul><ul><li>Privacy </li></ul><ul><ul><li>Cookie is a small file written to your disk each time you visit a site </li></ul></ul><ul><ul><li>Problem is when one site can read many cookies, e.g., </li></ul></ul>
    135. 142. Returning to a Previous Site History folder Favorites folder
    136. 143. Organize Favorites Move a favorite Create a new folder Delete a favorite Rename a favorite
    137. 144. The TELNET Protocol
    138. 145. TELNET vs. telnet <ul><li>TELNET is a protocol that provides “a general, bi-directional, eight-bit byte oriented communications facility”. </li></ul><ul><li>telnet is a program that supports the TELNET protocol over TCP. </li></ul><ul><li>Many application protocols are built upon the TELNET protocol. </li></ul>
    139. 146. The TELNET Protocol <ul><li>TCP connection </li></ul><ul><li>data and control over the same connection. </li></ul><ul><li>Network Virtual Terminal </li></ul><ul><li>negotiated options </li></ul>
    140. 147. Network Virtual Terminal <ul><li>intermediate representation of a generic terminal. </li></ul><ul><li>provides a standard language for communication of terminal control functions. </li></ul>
    141. 148. Network Virtual Terminal NVT NVT Server Process TCP TCP
    142. 149. Negotiated Options <ul><li>All NVTs support a minimal set of capabilities. </li></ul><ul><li>Some terminals have more capabilities than the minimal set. </li></ul><ul><li>The 2 endpoints negotiate a set of mutually acceptable options (character set, echo mode, etc). </li></ul>
    143. 150. Negotiated Options <ul><li>The protocol for requesting optional features is well defined and includes rules for eliminating possible negotiation “loops”. </li></ul><ul><li>The set of options is not part of the TELNET protocol, so that new terminal features can be incorporated without changing the TELNET protocol. </li></ul>
    144. 151. Option examples <ul><li>Line mode vs. character mode </li></ul><ul><li>echo modes </li></ul><ul><li>character set (EBCDIC vs. ASCII) </li></ul>
    145. 152. Control Functions <ul><li>TELNET includes support for a series of control functions commonly supported by servers. </li></ul><ul><li>This provides a uniform mechanism for communication of (the supported) control functions. </li></ul>
    146. 153. Control Functions <ul><li>Interrupt Process (IP) </li></ul><ul><ul><li>suspend/abort process. </li></ul></ul><ul><li>Abort Output (AO) </li></ul><ul><ul><li>process can complete, but send no more output to user’s terminal. </li></ul></ul><ul><li>Are You There (AYT) </li></ul><ul><ul><li>check to see if system is still running. </li></ul></ul>
    147. 154. More Control Functions <ul><li>Erase Character (EC) </li></ul><ul><ul><li>delete last character sent </li></ul></ul><ul><ul><li>typically used to edit keyboard input. </li></ul></ul><ul><li>Erase Line (EL) </li></ul><ul><ul><li>delete all input in current line. </li></ul></ul>
    148. 155. Command Structure <ul><li>All TELNET commands and data flow through the same TCP connection. </li></ul><ul><li>Commands start with a special character called the Interpret as Command escape character (IAC). </li></ul><ul><li>The IAC code is 255. </li></ul><ul><li>If a 255 is sent as data - it must be followed by another 255. </li></ul>
    149. 156. Looking for Commands <ul><li>Each receiver must look at each byte that arrives and look for IAC. </li></ul><ul><li>If IAC is found and the next byte is IAC - a single byte is presented to the application/terminal (a 255). </li></ul><ul><li>If IAC is followed by any other code - the TELNET layer interprets this as a command. </li></ul>
    150. 157. Command Codes <ul><li>IP 243 </li></ul><ul><li>AO 244 </li></ul><ul><li>AYT 245 </li></ul><ul><li>EC 246 </li></ul><ul><li>EL 247 </li></ul><ul><li>WILL 251 </li></ul><ul><li>WON’T 252 </li></ul><ul><li>DO 253 </li></ul><ul><li>DON’T 254 </li></ul><ul><li>IAC 255 </li></ul>
    151. 158. Playing with TELNET <ul><li>You can use the telnet program to play with the TELNET protocol. </li></ul><ul><li>telnet is a generic TCP client. </li></ul><ul><ul><li>Sends whatever you type to the TCP socket. </li></ul></ul><ul><ul><li>Prints whatever comes back through the TCP socket. </li></ul></ul><ul><ul><li>Useful for testing TCP servers (ASCII based protocols). </li></ul></ul>
    152. 159. Some TCP Servers you can play with <ul><li>Many Unix systems have these servers running (by default): </li></ul><ul><ul><li>echo port 7 </li></ul></ul><ul><ul><li>discard port 9 </li></ul></ul><ul><ul><li>daytime port 13 </li></ul></ul><ul><ul><li>chargen port 19 </li></ul></ul>
    153. 160. telnet hostname port <ul><li>> telnet 7 </li></ul><ul><li>Trying </li></ul><ul><li>Connected to ( </li></ul><ul><li>Escape character is '^]'. </li></ul><ul><li>Hi dave </li></ul><ul><li>Hi dave </li></ul><ul><li>stop it </li></ul><ul><li>stop it </li></ul><ul><li>^] </li></ul><ul><li>telnet> quit </li></ul><ul><li>Connection closed. </li></ul>
    154. 161. telnet vs. TCP <ul><li>Not all TCP servers talk TELNET (most don't) </li></ul><ul><li>You can use the telnet program to play with these servers, but the fancy commands won't do anything. </li></ul><ul><ul><li>type ^], then &quot;help&quot; for a list of fancy TELNET stuff you can do in telnet . </li></ul></ul>
    155. 162. Introduction to HTML
    156. 163. Agenda <ul><li>Introduction to HTML </li></ul><ul><li>Creating and Publishing Web pages </li></ul><ul><li>Main HTML elements </li></ul><ul><li>Block-Level HTML elements </li></ul><ul><li>Text-Level HTML elements </li></ul><ul><li>Creating Hyperlinks </li></ul><ul><li>Adding Images </li></ul><ul><li>Creating Tables, Forms and Frames </li></ul>
    157. 164. Hypertext Markup Language <ul><li>Language used to design web pages </li></ul><ul><li>Text mixed with Markup tags </li></ul><ul><li>Markup tags describe </li></ul><ul><ul><li>Appearance </li></ul></ul><ul><ul><li>Layout </li></ul></ul><ul><ul><li>Content </li></ul></ul>
    158. 165. HTML Document Template <ul><li><!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 EN&quot;> </li></ul><ul><li><html> </li></ul><ul><li><head> </li></ul><ul><li><title>Title</title> </li></ul><ul><li></head> </li></ul><ul><li><body> </li></ul><ul><li><!-- all the HTML for display --> </li></ul><ul><li>: : </li></ul><ul><li>: : </li></ul><ul><li>: : </li></ul><ul><li></body> </li></ul><ul><li></html> </li></ul>
    159. 166. Main HTML Elements <ul><li>DOCTYPE </li></ul><ul><li>HTML </li></ul><ul><li>HEAD </li></ul><ul><li>Elements that can be included inside HEAD tag: </li></ul><ul><ul><ul><li>TITLE </li></ul></ul></ul><ul><ul><ul><li> BASE </li></ul></ul></ul><ul><ul><ul><li> META </li></ul></ul></ul><ul><ul><ul><li> SCRIPT,NOSCRIPT </li></ul></ul></ul><ul><ul><ul><li> STYLE </li></ul></ul></ul><ul><ul><ul><li> LINK </li></ul></ul></ul>
    160. 167. Main HTML Elements (Continued) <ul><li>BODY </li></ul><ul><li>Attributes: </li></ul><ul><li>BACKGROUND </li></ul><ul><li>BGCOLOR </li></ul><ul><li>TEXT </li></ul><ul><li>LINK,ALINK,VLINK </li></ul><ul><li>Elements inside BODY tag </li></ul><ul><li><body> </li></ul><ul><li>HTML tags </li></ul><ul><li></body> </li></ul>
    161. 168. Block-Level Elements <ul><li>Headings </li></ul><ul><ul><li>H1…H6 </li></ul></ul><ul><ul><li>ALIGN </li></ul></ul><ul><li>Basic Text Sections </li></ul><ul><ul><li>P </li></ul></ul><ul><ul><li>ALGN </li></ul></ul><ul><ul><li>PRE </li></ul></ul><ul><ul><li>ADDRESS </li></ul></ul><ul><ul><li>BLOCKQUOTE </li></ul></ul><ul><ul><li>WIDTH </li></ul></ul><ul><ul><li>ADDRESS </li></ul></ul><ul><li>Lists </li></ul><ul><ul><li>OL </li></ul></ul><ul><ul><li>LI </li></ul></ul><ul><ul><li>UL </li></ul></ul><ul><ul><li>DL </li></ul></ul><ul><ul><li>DT </li></ul></ul><ul><ul><li>DD </li></ul></ul><ul><li>Tables , Forms & Frames </li></ul><ul><li>Misc. </li></ul><ul><ul><li>HR </li></ul></ul><ul><ul><li>BR </li></ul></ul><ul><ul><li>CENTER </li></ul></ul>
    162. 169. P: The Basic Paragraph <ul><li>Attributes </li></ul><ul><ul><li>ALIGN </li></ul></ul><ul><ul><ul><li>LEFT (Default), RIGHT,CENTER </li></ul></ul></ul><ul><ul><ul><li>White Space is ignored </li></ul></ul></ul><ul><ul><ul><li>Consecutive <P>s don’t yield multiple lines </li></ul></ul></ul><ul><ul><ul><li>End tag is optional </li></ul></ul></ul><ul><ul><ul><li><body> </li></ul></ul></ul><ul><ul><ul><li><p> </li></ul></ul></ul><ul><ul><ul><li>Paragraph 1 </li></ul></ul></ul><ul><ul><ul><li></p> </li></ul></ul></ul><ul><ul><ul><li><p> </li></ul></ul></ul><ul><ul><ul><li>Paragraph 2 </li></ul></ul></ul><ul><ul><ul><li></p> </li></ul></ul></ul><ul><ul><ul><li></body> </li></ul></ul></ul>
    163. 170. LISTS <ul><li>Ordered Lists (OL) <OL> </li></ul><ul><ul><li><LI> </li></ul></ul><ul><ul><li><LI> </li></ul></ul><ul><ul><li>: </li></ul></ul><ul><ul><li></OL> </li></ul></ul><ul><ul><li>Attributes : TYPE, START, COMPACT </li></ul></ul><ul><ul><li>List Entries (LI) </li></ul></ul><ul><ul><li>End Tag optional </li></ul></ul><ul><ul><li>Attributes: VALUE, TYPE </li></ul></ul>
    164. 171. LISTS (Continued) <ul><li>Unordered Lists (Bulleted Lists) <UL><LI><LI>….</UL> </li></ul><ul><ul><li>Attributes: TYPE, COMPACT TYPE can be DISC, CIRCLE, SQUARE </li></ul></ul><ul><ul><li>Ordered & Unordered lists can be nested. </li></ul></ul>
    165. 172. Text-Level Elements <ul><li>Physical Character Styles </li></ul><ul><ul><li>B, I, TT, U, SUB, SUP, BIG, SMALL, STRIKE, S, BLINK </li></ul></ul><ul><ul><li>FONT </li></ul></ul><ul><ul><ul><li>SIZE </li></ul></ul></ul><ul><ul><ul><li>COLOR </li></ul></ul></ul><ul><ul><ul><li>FACE </li></ul></ul></ul><ul><ul><li>BASEFONT </li></ul></ul><ul><ul><li>SIZE </li></ul></ul><ul><li>Logical Character Styles </li></ul><ul><ul><li>EM, STRONG, CODE, SAMP, KBD, DFN, VAR, CITE </li></ul></ul>
    166. 173. Text – Level Elements (Continued) <ul><li>Hypertext links </li></ul><ul><ul><li>A </li></ul></ul><ul><ul><ul><li>Attributes: HREF, TARGET, NAME,…. </li></ul></ul></ul><ul><li>Images </li></ul><ul><ul><li>IMG </li></ul></ul><ul><ul><ul><li>Attributes: SRC (required), ALT, ALIGN, WIDTH, HEIGHT, VSPACE, HSPACE, BORDER, USEMAP, ISMAP </li></ul></ul></ul><ul><li>Misc. </li></ul><ul><ul><li>BR (Explicit line break) </li></ul></ul><ul><ul><li>AREA (Client side image maps) </li></ul></ul><ul><ul><li>APPLET (Java) </li></ul></ul><ul><ul><li>HR ( Horizontal Line) </li></ul></ul>
    167. 174. Hypertext Links <ul><li>Links can contain images and other text level elements </li></ul><ul><ul><li><A HREF=…..>………</A> </li></ul></ul><ul><li>Link to absolute URL </li></ul><ul><ul><li>Use a complete URL starting with http:// </li></ul></ul><ul><li>Link to relative URL </li></ul><ul><ul><li>Use a filename or relative path to filename </li></ul></ul><ul><ul><ul><li>Interpreted with respect to current file </li></ul></ul></ul>
    168. 175. Hypertext Links (Continued) <ul><li>Link to a section </li></ul><ul><ul><li>Use a section name preceded by # </li></ul></ul><ul><ul><li><A HREF=“#Section2”>Section 2</A> </li></ul></ul><ul><li>Link to a section in a URL </li></ul><ul><ul><li>Use absolute or relative URL, then #, then section name </li></ul></ul><ul><li>Naming a section </li></ul><ul><ul><li>Use <A NAME=“…..”>and do not include # sign </li></ul></ul><ul><ul><li><A NAME=“Section2”>Images</A> </li></ul></ul>
    169. 176. IMG – Embedding Images <ul><li>Example </li></ul><ul><ul><li><IMG SRC=“SomeFile.gif” ALT=“My Page” WIDTH=400 HEIGHT=300> </li></ul></ul><ul><li>Attributes </li></ul><ul><ul><li>SRC (Required) </li></ul></ul><ul><ul><li>ALT (Technically Required) </li></ul></ul><ul><ul><li>ALIGN </li></ul></ul><ul><ul><li>WIDTH, HEIGHT </li></ul></ul><ul><ul><li>HSPACE, VSPACE </li></ul></ul><ul><ul><li>BORDER </li></ul></ul><ul><ul><li>USEMAP, ISMAP </li></ul></ul>
    170. 177. Tables <ul><li>Template </li></ul><ul><li><TABLE BORDER=1> </li></ul><ul><li><CAPTION>Table Caption</CAPTION> </li></ul><ul><li><TR><TH>Heading 1</TH><TH>Heading 2</TH></TR> </li></ul><ul><li><TR><TD>Row 1 Col 1 </TD><TD>Row 1 Col 2</TD></TR> </li></ul><ul><li><TR><TD>Row 2 Col 1 </TD><TD>Row 2 Col 2</TD></TR> </li></ul><ul><li></TABLE> </li></ul><ul><li>TABLE Element Attributes </li></ul><ul><ul><li>ALIGN : Horizontal alignment of the table .Values can be LEFT (default), RIGHT, CENTER. </li></ul></ul><ul><ul><li>BORDER : Specifies the width in pixels around the table .Default 0 </li></ul></ul><ul><ul><li>CELLSPACING : Gives the space in pixels between adjacent cells. Default 3 </li></ul></ul><ul><ul><li>CELLPADDING : Determines the empty space between the cell’s border and table element. Default is 1. </li></ul></ul><ul><ul><li>WIDTH : Specifies the width of the table in pixel or as percentage of the browser window. </li></ul></ul><ul><ul><li>BGCOLOR : Specifies the background color of the table </li></ul></ul>
    171. 178. Tables (Continued) <ul><li>Table CAPTION </li></ul><ul><li>Attribute : ALIGN (Values: TOP, BOTTOM) </li></ul><ul><li>Table Row (TR) </li></ul><ul><ul><li>Used to define each row in the table </li></ul></ul><ul><ul><li>Each row will contain <TH> & <TD> </li></ul></ul><ul><ul><li>Attributes: </li></ul></ul><ul><ul><ul><li>ALIGN, VALIGN, BGCOLOR </li></ul></ul></ul>
    172. 179. Tables (Continued) <ul><li>Table Cells TH & TD </li></ul><ul><li>Attributes : </li></ul><ul><ul><li>COLSPAN defines a heading or a cell data that spans more than one column. </li></ul></ul><ul><ul><li>ROWSPAN defines a heading or a cell data that spans more than one row. </li></ul></ul><ul><ul><li>ALIGN </li></ul></ul><ul><ul><li>VALIGN </li></ul></ul><ul><ul><li>WIDTH, HEIGHT </li></ul></ul>
    173. 180. Frames <ul><li>Frame Template </li></ul><ul><li><html> </li></ul><ul><li><head><title>DocumentTitle</title></head> </li></ul><ul><li><frameset …> </li></ul><ul><li><!– Frame and nested Frameset entries here --> </li></ul><ul><li><noframes> </li></ul><ul><li><body> </li></ul><ul><li><!-- For non frame browsers --> </li></ul><ul><li></body> </li></ul><ul><li></noframes> </li></ul><ul><li></frameset> </li></ul><ul><li><html> </li></ul>
    174. 181. Frames (Continued) <ul><li>Attributes </li></ul><ul><ul><li>COLS, ROWS </li></ul></ul><ul><ul><ul><li>A comma separated list of pixel values, percentages and weighted remainders. </li></ul></ul></ul><ul><ul><ul><li>Frameset entries should always specify atleast two rows or columns. </li></ul></ul></ul><ul><ul><ul><li>Examples </li></ul></ul></ul><ul><ul><ul><li><frameset rows=“50,10%,*,2*”>…</frameset> </li></ul></ul></ul><ul><ul><ul><li><frameset cols=“25,*,*”>….</frameset> </li></ul></ul></ul>
    175. 182. Frames (Continued) <ul><li>Frame Attributes (Continued) </li></ul><ul><ul><li>FRAMEBORDER </li></ul></ul><ul><ul><ul><li>Indicates whether borders will be drawn between frame cells. </li></ul></ul></ul><ul><ul><ul><li>Yes or 1 specifies border & No or 0 specifies no border. </li></ul></ul></ul><ul><ul><li>BORDER (Netscape), FRAMESPACING (IE) </li></ul></ul><ul><ul><ul><li>Specifies the border between frame cells. </li></ul></ul></ul><ul><ul><li>BORDERCOLOR </li></ul></ul><ul><ul><ul><li>Sets the color of the border between cells. </li></ul></ul></ul>
    176. 183. Frames (Continued) <ul><li>Specifying contents of frame cells. </li></ul><ul><ul><li>SRC </li></ul></ul><ul><ul><ul><li>URL of the document to place in the frame cell. </li></ul></ul></ul><ul><ul><li>NAME </li></ul></ul><ul><ul><ul><li>Supplies destination for TARGET attribute for hypertext links. </li></ul></ul></ul><ul><ul><li>BORDERCOLOR, FRAMEBORDER </li></ul></ul><ul><ul><li>MARGINWIDTH, MARGINHEIGHT </li></ul></ul><ul><ul><ul><li>Sets left/right & top/bottom cell margins. </li></ul></ul></ul><ul><ul><li>SCROLLING </li></ul></ul><ul><ul><ul><li>Indicates whether cells should have margins. </li></ul></ul></ul><ul><ul><li>NORESIZE </li></ul></ul><ul><ul><ul><li>Disables the ability to resize the frame cells. </li></ul></ul></ul>
    177. 184. Targeting Frame Cells <ul><li>Specify the cell in which place a page referenced by a hyperlink. </li></ul><ul><li>The NAME attribute of the <FRAME> </li></ul><ul><ul><li><FRAME SRC=“” NAME=“Cell name”> </li></ul></ul><ul><li>The TARGET attribute of the <A HREF> </li></ul><ul><ul><li><A HREF=“ “ TARGET=“Cell name”> </li></ul></ul>
    178. 185. Forms <ul><li>Adds interactivity to the html pages. </li></ul><ul><li>Template </li></ul><ul><ul><li><form action=“url” method=“get/post”> </li></ul></ul><ul><ul><li>… form elements </li></ul></ul><ul><ul><li></form> </li></ul></ul><ul><li>Attributes </li></ul><ul><ul><li>ACTION </li></ul></ul><ul><ul><ul><li>Specifies the location of a script or program that will process the data sent by the browser via the selections in the form. </li></ul></ul></ul><ul><ul><li>METHOD </li></ul></ul><ul><ul><ul><li>define one of two ways the data from the form is sent to the program that will process the data. </li></ul></ul></ul>
    179. 186. Forms (Continued) <ul><li>Basic Form Elements </li></ul><ul><ul><li>Text fields </li></ul></ul><ul><ul><li>Password fields </li></ul></ul><ul><ul><li>Textarea fields </li></ul></ul><ul><ul><li>Radio buttons </li></ul></ul><ul><ul><li>Checkboxes </li></ul></ul><ul><ul><li>Menu selections </li></ul></ul><ul><ul><li>Buttons </li></ul></ul>
    180. 187. Forms (Continued) <ul><li>Text input elements </li></ul><ul><ul><li>Creates a textbox. </li></ul></ul><ul><ul><li>Type attribute of input set to “text”. </li></ul></ul><ul><ul><li>Attributes: name, size, value, maxlength </li></ul></ul><ul><li>Password input elements </li></ul><ul><ul><li>Creates a textbox to enter password. </li></ul></ul><ul><ul><li>Type attribute of input set to “password”. </li></ul></ul><ul><ul><li>Attributes: name, size, value, maxlength </li></ul></ul>
    181. 188. Forms (Continued) <ul><li>Check Boxes </li></ul><ul><ul><li>Adds check boxes to the web page. </li></ul></ul><ul><ul><li>Type attribute of input set to “checkbox”. </li></ul></ul><ul><ul><li>Attributes: name, value, checked. </li></ul></ul><ul><ul><li>More than one can be selected. </li></ul></ul><ul><ul><li>Each has different value for name attribute. </li></ul></ul><ul><li>Radio Buttons </li></ul><ul><ul><li>Adds radio buttons to the web page. </li></ul></ul><ul><ul><li>Type attribute of input set to “radio”. </li></ul></ul><ul><ul><li>Attributes: name, value, checked. </li></ul></ul><ul><ul><li>Only one button can be selected. </li></ul></ul><ul><ul><li>Same name for all radio buttons in the group. </li></ul></ul>
    182. 189. Forms (Continued) <ul><li>Menu Selection </li></ul><ul><ul><li>Provides drop-down menus. </li></ul></ul><ul><ul><li>Here type=“select” </li></ul></ul><ul><ul><li><OPTION>..</OPTION> tag defines the text displayed in the menu. </li></ul></ul><ul><ul><li>Attributes for OPTION: selected </li></ul></ul><ul><li>Submit & Reset Buttons </li></ul><ul><ul><li>For submit, type=“submit” </li></ul></ul><ul><ul><li>For reset, type=“reset” </li></ul></ul><ul><ul><li>Both have attribute : value </li></ul></ul>
    183. 190. Summary <ul><li>HTML document should be enclosed in the HTML,HEAD & BODY tags. </li></ul><ul><li>Documents are composed of block-level and text-level elements. </li></ul><ul><li>Hypertext links can be absolute or relative. </li></ul><ul><li>Tables are built using TABLE, TR, TH & TD tags. </li></ul><ul><li>Frames are created by FRAMESET & FRAME tags with attributes like ROWS, COLS, SRC.. </li></ul><ul><li>Forms contain elements like textboxes, radio buttons, checkboxes, drop-down menu & buttons for submit and reset. </li></ul>
    184. 191. Dynamic HTML: Object Model and Collections Outline Introduction Object Referencing Collections all and children Dynamic Styles Dynamic Positioning Using the frames Collection navigator Object Summary of the DHTML Object Model
    185. 192. Objectives <ul><li>In this lesson, you will learn: </li></ul><ul><ul><li>To use the Dynamic HTML Object Model and scripting to create dynamic Web pages. </li></ul></ul><ul><ul><li>To understand the Dynamic HTML object hierarchy. </li></ul></ul><ul><ul><li>To use the all and children collections to enumerate all of the XHTML elements of a Web page. </li></ul></ul><ul><ul><li>To use dynamic styles and dynamic positioning. </li></ul></ul><ul><ul><li>To use the frames collection to access objects in a separate frame on your Web page. </li></ul></ul><ul><ul><li>To use the navigator object to determine which browser is being used to access your page. </li></ul></ul>
    186. 193. Introduction <ul><li>Dynamic HTML Object Model </li></ul><ul><ul><li>Allows Web authors to control the presentation of their pages </li></ul></ul><ul><ul><li>Gives them access to all the elements on their pages </li></ul></ul><ul><li>Web page </li></ul><ul><ul><li>Elements, forms, frames, tables </li></ul></ul><ul><ul><li>Represented in an object hierarchy </li></ul></ul><ul><li>Scripting </li></ul><ul><ul><li>Retrieve and modify properties and attributes </li></ul></ul>
    187. 194.   Object Referencing <ul><li>The simplest way to reference an element is by using the element’s id attribute. </li></ul><ul><li>The element is represented as an object </li></ul><ul><ul><li>XHTML attributes become properties that can be manipulated by scripting </li></ul></ul>
    188. 195. Outline reference.html (1 of 2)
    189. 196. Outline reference.html (2 of 2)
    190. 197.    Collections all and children <ul><li>Collections </li></ul><ul><ul><li>Arrays of related objects on a page </li></ul></ul><ul><ul><li>all </li></ul></ul><ul><ul><ul><li>all the XHTML elements in a document </li></ul></ul></ul><ul><ul><li>children </li></ul></ul><ul><ul><ul><li>Specific element contains that element’s child elements </li></ul></ul></ul>
    191. 198. Outline all.html (1 of 2)
    192. 199. Outline all.html (2 of 2)
    193. 200. Outline children.html (1 of 3)
    194. 201. Outline children.html (2 of 3)
    195. 202. Outline children.html (3 of 3)
    196. 204.    Dynamic Styles <ul><li>Element’s style can be changed dynamically </li></ul><ul><li>Dynamic HTML Object Model also allows you to change the class attribute </li></ul>
    197. 205. Outline dynamicstyle.html (1 of 2)
    198. 206. Outline dynamicstyle.html (2 of 2)
    199. 207. Outline dynamicstyle2.html (1 of 2)
    200. 208. Outline dynamicstyle2.html (2 of 2)
    201. 210.    Dynamic Positioning <ul><li>XHTML elements can be positioned with scripting </li></ul><ul><ul><li>Declare an element’s CSS position property to be either absolute or relative </li></ul></ul><ul><ul><li>Move the element by manipulating any of the top , left , right or bottom CSS properties </li></ul></ul>
    202. 211. Outline dynamicposition .html (1 of 3)
    203. 212. Outline dynamicposition .html (2 of 3)
    204. 213. Outline dynamicposition .html (3 of 3)
    205. 215.   Using the frames Collection <ul><li>Referencing elements and objects in different frames by using the frames collection </li></ul>
    206. 216. Outline index.html (1 of 1)
    207. 217. Outline top.html (1 of 2)
    208. 218. Outline top.html (2 of 2)
    209. 220.    navigator Object <ul><li>Netscape, Mozilla, Microsoft’s Internet Explorer </li></ul><ul><ul><li>Others as well </li></ul></ul><ul><li>Contains information about the Web browser </li></ul><ul><li>Allows Web authors to determine what browser the user is using </li></ul>
    210. 221. Outline navigator.html (1 of 2)
    211. 222. Outline navigator.html (2 of 2)
    212. 223.    Summary of the DHTML Object Model Fig. 13.10 DHTML Object Model. applets all anchors embeds forms filters images links plugins styleSheets scripts frames plugins collection body screen document history navigator location event document document object window Key
    213. 224.    Summary of the DHTML Object Model
    214. 225.   Summary of the DHTML Object Model
    215. 226.    Summary of the DHTML Object Model
    216. 227. Cascading Style Sheets™ (CSS) Outline Introduction Inline Styles Embedded Style Sheets Conflicting Styles Linking External Style Sheets W3C CSS Validation Service Positioning Elements Backgrounds Element Dimensions Text Flow and the Box Model User Style Sheets Web Resources
    217. 228. Objectives <ul><li>In this lesson, you will learn: </li></ul><ul><ul><li>To control the appearance of a Web site by creating style sheets. </li></ul></ul><ul><ul><li>To use a style sheet to give all the pages of a Web site the same look and feel. </li></ul></ul><ul><ul><li>To use the class attribute to apply styles. </li></ul></ul><ul><ul><li>To specify the precise font, size, color and other properties of displayed text. </li></ul></ul><ul><ul><li>To specify element backgrounds and colors. </li></ul></ul><ul><ul><li>To understand the box model and how to control the margins, borders and padding. </li></ul></ul><ul><ul><li>To use style sheets to separate presentation from content. </li></ul></ul>
    218. 229.    Introduction <ul><li>Cascading Style Sheets (CSS) </li></ul><ul><ul><li>Separation of structure from presentation </li></ul></ul>
    219. 230.    Inline Styles <ul><li>Declare an individual element’s format </li></ul><ul><ul><li>Attribute style </li></ul></ul><ul><ul><li>CSS property </li></ul></ul><ul><ul><ul><li>Followed by a colon and a value </li></ul></ul></ul>
    220. 231. inline.html (1 of 2)
    221. 232. inline.html (2 of 2)
    222. 233.    Embedded Style Sheets <ul><li>Embed an entire CSS document in an XHTML document’s head section </li></ul><ul><ul><li>Multipurpose Internet Mail Extensions (MIME) type </li></ul></ul><ul><ul><ul><li>Describes a file’s content </li></ul></ul></ul><ul><ul><li>Property background-color </li></ul></ul><ul><ul><ul><li>Specifies the background color </li></ul></ul></ul><ul><ul><li>Property font-family </li></ul></ul><ul><ul><ul><li>Specifies the name of the font to use </li></ul></ul></ul><ul><ul><li>Property font-size </li></ul></ul><ul><ul><ul><li>Specifies a 14-point font </li></ul></ul></ul>
    223. 234. declared.html (1 of 3)
    224. 235. declared.html (2 of 3)
    225. 236. declared.html (3 of 3)
    226. 237.   Conflicting Styles <ul><li>Inheritance </li></ul><ul><ul><li>Descendant’s properties have greater specificity than ancestor’s properties </li></ul></ul>
    227. 238. advance.html (1 of 3)
    228. 239. advance.html (2 of 3)
    229. 240. advance.html (3 of 3)
    230. 241.    Linking External Style Sheets <ul><li>External style sheets </li></ul><ul><ul><li>Can provide uniform look and feel to entire site </li></ul></ul>
    231. 242. styles.css (1 of 1)
    232. 243. external.html (1 of 2)
    233. 244. external.html (2 of 2)
    234. 245.    W3C CSS Validation Service <ul><li>Validates external CSS documents </li></ul><ul><li>Ensures that style sheets are syntactically correct </li></ul>
    235. 246.   W3C CSS Validation Service Fig. 6.6 Validating a CSS document. (Courtesy of World Wide Web Consortium (W3C).)
    236. 247.    W3C CSS Validation Service Fig. 6.7 CSS validation results. (Courtesy of World Wide Web Consortium (W3C).)
    237. 248.    Positioning Elements <ul><li>Absolute positioning </li></ul><ul><ul><li>z-index attribute </li></ul></ul><ul><ul><ul><li>Layer overlapping elements properly </li></ul></ul></ul><ul><li>Relative positioning </li></ul><ul><ul><li>Elements are positioned relative to other elements </li></ul></ul>
    238. 249. positioning.html (1 of 1)
    239. 251. positioning2.html (1 of 2)
    240. 252. positioning2.html 2 of 2
    241. 254.   Backgrounds <ul><li>background-image </li></ul><ul><ul><li>Specifies the image URL </li></ul></ul><ul><li>background-position </li></ul><ul><ul><li>Places the image on the page </li></ul></ul><ul><li>background-repeat </li></ul><ul><ul><li>Controls the tiling of the background image </li></ul></ul><ul><li>background-attachment </li></ul><ul><ul><li>fixed </li></ul></ul><ul><ul><li>scroll </li></ul></ul><ul><li>font-weight </li></ul><ul><ul><li>Specify the “boldness” of text </li></ul></ul>
    242. 255. background.html (1 of 2)
    243. 256. background.html (2 of 2)
    244. 258.   Element Dimensions <ul><li>CSS rules can specify the actual dimensions of each page element </li></ul>
    245. 259. width.html (1 of 2)
    246. 260. width.html (2 of 2)
    247. 261.    Text Flow and the Box Model <ul><li>Floating </li></ul><ul><ul><li>Move an element to one side of the screen </li></ul></ul><ul><li>Box model </li></ul><ul><ul><li>Margins </li></ul></ul><ul><ul><ul><li>margin-top, margin-right, margin-left, margin-bottom </li></ul></ul></ul><ul><ul><li>Padding </li></ul></ul><ul><ul><ul><li>padding-top, padding-right, padding-left, and padding-bottom </li></ul></ul></ul><ul><ul><li>Border </li></ul></ul><ul><ul><ul><li>border-width </li></ul></ul></ul><ul><ul><ul><ul><li>thin, medium, thick </li></ul></ul></ul></ul><ul><ul><ul><li>border-color </li></ul></ul></ul><ul><ul><ul><ul><li>Sets the color </li></ul></ul></ul></ul><ul><ul><ul><li>border-style </li></ul></ul></ul><ul><ul><ul><ul><li>none, hidden, dotted, dashed, solid, double, groove, ridge, inset and outset </li></ul></ul></ul></ul>
    248. 262. floating.html (1 of 3)
    249. 263. floating.html (2 of 3)
    250. 264. floating.html (3 of 3)
    251. 265.   Text Flow and the Box Model Fig. 6.13 Box model for block-level elements.
    252. 266. borders.html (1 of 2)
    253. 267. borders.html (2 of 2)
    254. 269. borders2.html (1 of 2)
    255. 270. borders2.html (2 of 2)
    256. 271.    User Style Sheets <ul><li>Format pages based on preferences </li></ul>
    257. 272. User_absolute.html (1 of 2)
    258. 273. User_absolute.html (2 of 2)
    259. 274. userstyles.css 1 of 1
    260. 275.    User Style Sheets Fig. 6.18 User style sheet in Internet Explorer 6.
    261. 276.    User Style Sheets Fig. 6.19 User style sheet applied with pt measurement.
    262. 277. User_relative.html (1 of 2)
    263. 278. User_relative.html (2 of 2)
    264. 279.    User Style Sheets Fig. 6.21 User style sheet applied with em measurement.
    265. 280. Introduction to XHTML Outline Introduction Editing XHTML First XHTML Example W3C XHTML Validation Service Headers Linking Images Special Characters and More Line Breaks Unordered Lists Nested and Ordered Lists Web Resources
    266. 281. Objectives <ul><li>In this chapter, you will learn: </li></ul><ul><ul><li>To understand important components of XHTML documents. </li></ul></ul><ul><ul><li>To use XHTML to create Web pages. </li></ul></ul><ul><ul><li>To be able to add images to Web pages. </li></ul></ul><ul><ul><li>To understand how to create and use hyperlinks to navigate Web pages. </li></ul></ul><ul><ul><li>To be able to mark up lists of information. </li></ul></ul>
    267. 282.    Introduction <ul><li>Extensible HyperText Markup Language </li></ul><ul><ul><li>XHTML </li></ul></ul><ul><ul><li>A markup language </li></ul></ul><ul><ul><li>Separation of the presentation of a document from the structure of the document’s information </li></ul></ul><ul><ul><li>Based on HTML </li></ul></ul><ul><ul><ul><li>Technology of the World Wide Web Consortium (W3C) </li></ul></ul></ul>
    268. 283.    Editing XHTML <ul><li>XHTML documents </li></ul><ul><ul><li>Source-code form </li></ul></ul><ul><ul><li>Text editor (e.g. Notepad, Wordpad, emacs, etc.) </li></ul></ul><ul><ul><li>.html or .htm file-name extension </li></ul></ul><ul><ul><li>Web server </li></ul></ul><ul><ul><ul><li>Stores XHTML documents </li></ul></ul></ul><ul><ul><li>Web browser </li></ul></ul><ul><ul><ul><li>Requests XHTML documents </li></ul></ul></ul>
    269. 284.    First XHTML Example <ul><li>XHTML comments </li></ul><ul><ul><li>Start with <!-- and end with --> </li></ul></ul><ul><ul><li>html element </li></ul></ul><ul><ul><ul><li>head element </li></ul></ul></ul><ul><ul><ul><ul><li>Head section </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Title of the document </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Style sheets and scripts </li></ul></ul></ul></ul></ul><ul><ul><ul><li>body element </li></ul></ul></ul><ul><ul><ul><ul><li>Body section </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Page’s content the browser displays </li></ul></ul></ul></ul></ul><ul><ul><li>Start tag </li></ul></ul><ul><ul><ul><li>attributes (provide additional information about an element) </li></ul></ul></ul><ul><ul><ul><ul><li>name and value (separated by an equal sign) </li></ul></ul></ul></ul><ul><ul><li>End tag </li></ul></ul>
    270. 285. main.html (1 of 1)
    271. 286.    W3C XHTML Validation Service <ul><li>Validation service ( ) </li></ul><ul><ul><li>Checking a document’s syntax </li></ul></ul><ul><ul><ul><li>URL that specifies the location of the file </li></ul></ul></ul><ul><ul><ul><li>Uploading a file to the site </li></ul></ul></ul>
    272. 287.    W3C XHTML Validation Service
    273. 288.   W3C XHTML Validation Service
    274. 289.    Headers <ul><li>Six headers ( header elements) </li></ul><ul><ul><li>h1 through h6 </li></ul></ul>
    275. 290. header.html (1 of 1)
    276. 292.    Linking <ul><li>Hyperlink </li></ul><ul><ul><li>References other sources such as XHTML documents and images </li></ul></ul><ul><ul><li>Both text and images can act as hyperlinks </li></ul></ul><ul><ul><li>Created using the a (anchor) element </li></ul></ul><ul><ul><ul><li>Attribute href </li></ul></ul></ul><ul><ul><ul><ul><li>Specifies the location of a linked resource </li></ul></ul></ul></ul><ul><ul><ul><li>Link to e-mail addresses using mailto: URL </li></ul></ul></ul><ul><li><strong> tag </li></ul><ul><ul><li>Bold </li></ul></ul>
    277. 293. links.html (1 of 2)
    278. 294. links.html (2 of 2)
    279. 295. contact.html (1 of 1)
    280. 297.    Images <ul><li>Three most popular formats </li></ul><ul><ul><li>Graphics Interchange Format (GIF) </li></ul></ul><ul><ul><li>Joint Photographic Experts Group (JPEG) </li></ul></ul><ul><ul><li>Portable Network Graphics (PNG) </li></ul></ul><ul><ul><li>img element </li></ul></ul><ul><ul><ul><li>src attribute </li></ul></ul></ul><ul><ul><ul><ul><li>Specifies the location of the image file </li></ul></ul></ul></ul><ul><ul><ul><li>width and height </li></ul></ul></ul><ul><li>Pixels (“picture elements”) </li></ul><ul><li>Empty elements </li></ul><ul><ul><li>Terminated by character / inside the closing right angle bracket ( > ), or by explicitly including the end tag </li></ul></ul><ul><li>br element </li></ul><ul><ul><li>Line break </li></ul></ul>
    281. 298. picture.html (1 of 1)
    282. 300. nav.html (1 of 2)
    283. 301. nav.html (2 of 2)
    284. 303.    Special Characters and More Line Breaks <ul><li>Character entity references (in the form &code; ) </li></ul><ul><li>Numeric character references (e.g. & ) </li></ul><ul><li>del </li></ul><ul><ul><li>Strike-out text </li></ul></ul><ul><li>sup </li></ul><ul><ul><li>Superscript text </li></ul></ul><ul><li>sub </li></ul><ul><ul><li>Subscript text </li></ul></ul><ul><li><hr /> </li></ul><ul><ul><li>Horizontal rule (horizontal line) </li></ul></ul>
    285. 304. contact2.html (1 of 2)
    286. 305. contact2.html (2 of 2)
    287. 307.   Unordered Lists <ul><li>Unordered list element ul </li></ul><ul><ul><li>Creates a list in which each item begins with a bullet symbol (called a disc) </li></ul></ul><ul><ul><li>li (list item) </li></ul></ul><ul><ul><ul><li>Entry in an unordered list </li></ul></ul></ul>
    288. 308. links2.html (1 of 2)
    289. 309. links2.html (2 of 2)
    290. 310.    Nested and Ordered Lists <ul><li>Represent hierarchical relationships </li></ul><ul><li>Ordered lists ( ol ) </li></ul><ul><ul><li>Creates a list in which each item begins with a number </li></ul></ul>
    291. 311. list.html (1 of 3)
    292. 312. list.html (2 of 3)
    293. 313. list.html (3 of 3)
    294. 315. Domain Name System (DNS)
    295. 316. Overview <ul><li>Introduction to the DNS </li></ul><ul><li>DNS Components </li></ul><ul><li>DNS Structure and Hierarchy </li></ul><ul><li>The DNS in Context </li></ul>
    296. 317. Overview <ul><li>Introduction to the DNS </li></ul><ul><li>DNS Components </li></ul><ul><ul><li>The name space </li></ul></ul><ul><ul><li>The servers </li></ul></ul><ul><ul><li>The resolvers </li></ul></ul><ul><li>DNS Structure and Hierarchy </li></ul><ul><li>The DNS in Context </li></ul>
    297. 318. The Name Space <ul><li>The name space is the structure of the DNS database </li></ul><ul><ul><li>An inverted tree with the root node at the top </li></ul></ul><ul><li>Each node has a label </li></ul><ul><ul><li>The root node has a null label, written as “” </li></ul></ul>
    298. 319. Domain names and labels
    299. 320. FQDN and PQDN
    300. 321. Domain Names <ul><li>A domain name is the sequence of labels from a node to the root, separated by dots (“.”s), read left to right </li></ul><ul><ul><li>The name space has a maximum depth of 127 levels </li></ul></ul><ul><ul><li>Domain names are limited to 255 characters in length </li></ul></ul><ul><li>A node’s domain name identifies its position in the name space </li></ul>
    301. 322. Hierarchy of name servers
    302. 323. DNS in the Internet
    303. 324. Generic domains
    304. 325. Country domains
    305. 326. Inverse domain
    306. 327. Name Servers <ul><li>Name servers store information about the name space in units called “zones” </li></ul><ul><ul><li>The name servers that load a complete zone are said to “have authority for” or “be authoritative for” the zone </li></ul></ul><ul><li>Also, a single name server may be authoritative for many zones </li></ul>
    307. 328. Types of Name Servers <ul><li>Two main types of servers </li></ul><ul><ul><li>Authoritative – maintains the data </li></ul></ul><ul><ul><ul><li>Master – where the data is edited </li></ul></ul></ul><ul><ul><ul><li>Slave – where data is replicated to </li></ul></ul></ul><ul><ul><li>Caching – stores data obtained from an authoritative server </li></ul></ul><ul><ul><li>The most common name server implementation (BIND) combines these two into a single process </li></ul></ul>
    308. 329. Name Server Architecture <ul><li>You can think of a name server as part: </li></ul><ul><ul><li>database server, answering queries about the parts of the name space it knows about (i.e., is authoritative for), </li></ul></ul><ul><ul><li>cache, temporarily storing data it learns from other name servers, and </li></ul></ul><ul><ul><li>agent, helping resolvers and other name servers find data that other name servers know about </li></ul></ul>
    309. 330. Name Server Architecture Zone transfer From disk Master server Zone data file Authoritative Data (primary master and slave zones) Agent (looks up queries on behalf of resolvers) Cache Data (responses from other name servers) Name Server Process
    310. 331. Authoritative Data Query Response Resolver Authoritative Data (primary master and slave zones) Agent (looks up queries on behalf of resolvers) Cache Data (responses from other name servers) Name Server Process
    311. 332. Using Other Name Servers Response Query Query Response Arbitrary name server Resolver Authoritative Data (primary master and slave zones) Agent (looks up queries on behalf of resolvers) Cache Data (responses from other name servers) Name Server Process
    312. 333. Cached Data Query Response Authoritative Data (primary master and slave zones) Agent (looks up queries on behalf of resolvers) Cache Data (responses from other name servers) Name Server Process Resolver
    313. 334. Overview <ul><li>Introduction to the DNS </li></ul><ul><li>DNS Components </li></ul><ul><ul><li>The name space </li></ul></ul><ul><ul><li>The servers </li></ul></ul><ul><ul><li>The resolvers </li></ul></ul><ul><li>DNS Structure and Hierarchy </li></ul><ul><li>The DNS in Context </li></ul>
    314. 335. Name Resolution <ul><li>Name resolution is the process by which resolvers and name servers cooperate to find data in the name space </li></ul><ul><li>To find information anywhere in the name space, a name server only needs the names and IP addresses of the name servers for the root zone (the “root name servers”) </li></ul><ul><ul><li>The root name servers know about the top-level zones and can tell name servers whom to contact for all TLDs </li></ul></ul>
    315. 336. Name Resolution <ul><li>A DNS query has three parameters: </li></ul><ul><ul><li>A domain name (e.g., ), </li></ul></ul><ul><ul><ul><li>Remember, every node has a domain name! </li></ul></ul></ul><ul><ul><li>A class (e.g., IN ), and </li></ul></ul><ul><ul><li>A type (e.g., A ) </li></ul></ul><ul><li>A name server receiving a query from a resolver looks for the answer in its authoritative data and its cache </li></ul><ul><ul><li>If the answer isn’t in the cache and the server isn’t authoritative for the answer, the answer must be looked up </li></ul></ul>
    316. 337. The Resolution Process <ul><li>Let’s look at the resolution process step-by-step: </li></ul>ping
    317. 338. The Resolution Process <ul><li>The workstation annie asks its configured name server, dakota, for’s address </li></ul>ping What’s the IP address of
    318. 339. The Resolution Process <ul><li>The name server dakota asks a root name server, m , for’s address </li></ul>ping What’s the IP address of
    319. 340. The Resolution Process <ul><li>The root server m refers dakota to the com name servers </li></ul><ul><li>This type of response is called a “referral” </li></ul>ping Here’s a list of the com name servers. Ask one of them .
    320. 341. The Resolution Process <ul><li>The name server dakota asks a com name server, f , for’s address </li></ul>ping What’s the IP address of
    321. 342. The Resolution Process <ul><li>The com name server f refers dakota to the name servers </li></ul>ping Here’s a list of the name servers. Ask one of them .
    322. 343. The Resolution Process <ul><li>The name server dakota asks an name server, ns1.sanjose , for’s address </li></ul>ping What’s the IP address of
    323. 344. The Resolution Process <ul><li>The name server ns1.sanjose responds with’s address </li></ul>ping Here’s the IP address for
    324. 345. The Resolution Process <ul><li>The name server dakota responds to annie with’s address </li></ul>ping Here’s the IP address for
    325. 346. Resolution Process (Caching) <ul><li>After the previous query, the name server dakota now knows: </li></ul><ul><ul><li>The names and IP addresses of the com name servers </li></ul></ul><ul><ul><li>The names and IP addresses of the name servers </li></ul></ul><ul><ul><li>The IP address of </li></ul></ul><ul><li>Let’s look at the resolution process again </li></ul>ping ftp
    326. 347. Resolution Process (Caching) <ul><li>The workstation annie asks its configured name server, dakota, for’s address </li></ul>ping What’s the IP address of
    327. 348. Resolution Process (Caching) <ul><li>dakota has cached an NS record indicating ns1.sanjose is an name server, so it asks it for’s address </li></ul>ping What’s the IP address of
    328. 349. Resolution Process (Caching) <ul><li>The name server ns1.sanjose responds with’s address </li></ul>ping Here’s the IP address for
    329. 350. Resolution Process (Caching) <ul><li>The name server dakota responds to annie with’s address </li></ul>ping Here’s the IP address for
    330. 351. Overview <ul><li>Introduction to the DNS </li></ul><ul><li>DNS Components </li></ul><ul><li>DNS Structure and Hierarchy </li></ul><ul><li>The DNS in Context </li></ul>
    331. 352. The Current TLDs
    332. 353. Registries, Registrars, and Registrants Registry Zone DB Registrants End user requests add/modify/delete Registrar submits add/modify/delete to registry Registrar Registrar Registrar Master updated Registry updates zone Slaves updated
    333. 354. The “Generic” Top-Level Domains (gTLDs) <ul><li>.COM, .NET, and .ORG </li></ul><ul><ul><li>By far the largest top level domains on the Internet today </li></ul></ul><ul><ul><ul><li>.COM has approx. 20,000,000 names </li></ul></ul></ul><ul><ul><li>Essentially no restriction on what can be registered </li></ul></ul><ul><li>Network Solutions (now Verisign) received the contract for the registry for .COM, .NET, and .ORG </li></ul><ul><ul><li>also a registrar for these TLDs </li></ul></ul>
    334. 355. New Top Level Domains <ul><li>Recently, ICANN created 7 new top level domains: </li></ul><ul><ul><li>.aero, .biz, .coop, .info, .museum, .name, .pro </li></ul></ul><ul><ul><ul><li>Some are chartered (.aero, .coop, .museum, .name, .pro) </li></ul></ul></ul><ul><ul><ul><li>Some are generic (.biz, .info) </li></ul></ul></ul><ul><ul><li>Expect these new TLDs to show up around 2Q01 </li></ul></ul><ul><li>Many people unhappy with the process by which these new TLDs were created </li></ul><ul><ul><li>Expect continued “discussion” </li></ul></ul>
    335. 356. ccTLD Organization <ul><li>How each country top-level domain is organized is up to the country </li></ul><ul><ul><li>Some, like Australia’s au, follow the functional definitions </li></ul></ul><ul><ul><ul><li> , , etc. </li></ul></ul></ul><ul><ul><li>Others, like Great Britain’s uk and Japan’s jp, divide the domain functionally but use their own abbreviations </li></ul></ul><ul><ul><ul><li> , , , , etc. </li></ul></ul></ul><ul><ul><li>A few, like the United State’s us, are largely geographical </li></ul></ul><ul><ul><ul><li> , , etc. </li></ul></ul></ul><ul><ul><li>Canada uses organizational scope </li></ul></ul><ul><ul><ul><li> has national scope, has Quebec scope </li></ul></ul></ul><ul><ul><li>Some are flat, that is, no hierarchy </li></ul></ul><ul><ul><ul><li> , </li></ul></ul></ul><ul><ul><li>Considered a question of national sovereignty </li></ul></ul>
    336. 357. .arpa <ul><li>Now, Address and Routing Parameter Area </li></ul><ul><ul><li>Was Advanced Research Projects Administration </li></ul></ul><ul><li>Used for infrastructure domains </li></ul><ul><ul><li>IPv4 reverse (address to name) lookups </li></ul></ul><ul><ul><li>IPv6 reverse lookups </li></ul></ul><ul><ul><li>E.164 </li></ul></ul>
    337. 358. Other TLDs <ul><li>.GOV – used by US Governmental organizations </li></ul><ul><ul><li>E.g.,,,, etc. </li></ul></ul><ul><li>.MIL – used by the US Military </li></ul><ul><ul><li>E.g.,,, etc. </li></ul></ul><ul><li>.EDU – used for Educational institutions </li></ul><ul><ul><li>Higher learning, not only US-based ones </li></ul></ul><ul><ul><li>E.g.,,, </li></ul></ul><ul><li>.INT – international treaty organizations </li></ul><ul><ul><li>E.g.,,, </li></ul></ul>
    338. 359. Figure 18-11 Recursive resolution
    339. 360. Figure 18-12 Iterative resolution
    340. 361. Questions? ?
    341. 362. TELNET
    342. 363. CONTENTS <ul><li>CONCEPT </li></ul><ul><li>NETWORK VIRTUAL TERMINAL (NVT) </li></ul><ul><li>NVT CHARACTER SET </li></ul><ul><li>EMBEDDING </li></ul><ul><li>OPTIONS </li></ul><ul><li>OPTION NEGOTIATION </li></ul><ul><li>SUBOPTION NEGOTIATION </li></ul><ul><li>CONTROLLING THE SERVER </li></ul><ul><li>OUT-OF-BAND SIGNALING </li></ul>
    343. 364. CONTENTS (Continued) <ul><li>ESCAPE CHARACTER </li></ul><ul><li>MODE OF OPERATION </li></ul><ul><li>EXAMPLES </li></ul><ul><li>USER INTERFACE </li></ul><ul><li>RLOGIN (REMOTE LOGIN) </li></ul><ul><li>SECURITY ISSUE </li></ul>
    344. 365. TELNET and Rlogin are general-purpose client-server application programs.
    345. 366. CONCEPT
    346. 367. Local login
    347. 368. Remote login
    349. 370. Figure 19-3 NVT
    350. 371. NVT CHARACTER SET
    351. 372. Figure 19-4 Format of data characters
    352. 373. Figure 19-5 Format of control characters
    353. 374. EMBEDDING
    354. 375. Figure 19-6 Embedding
    355. 376. OPTIONS
    357. 378. Offer to enable
    358. 379. Request to enable
    359. 380. Offer to disable
    360. 381. Request to disable
    361. 382. Echo option example
    363. 384. Example of suboption negotiation
    365. 386. Example of interrupting an application program
    367. 388. Out-of-band signaling
    368. 389. ESCAPE CHARACTER
    369. 390. Two different interruptions
    370. 391. MODE OF OPERATION
    371. 392. EXAMPLES
    372. 393. Example 1 In this example, we use the default mode to show the concept and its deficiencies even though it is almost obsolete today. The client and the server negotiate the terminal type and terminal speed and then the server checks the login and password of the user. See Figure 19.16.
    373. 394. Example1
    374. 395. Example 2 In this example, we show how the client switches to the character mode. This requires that the client request the server to enable the SUPPRESS GO AHEAD and ECHO options.
    375. 396. Figure 19-17 Example 2