CIW-Networking Fundamentals

Lesson 1: Introduction to Networking

< Network: two or more connected computers that share data
< Internetworking: networking on the Internet
< Mainframe computing is centralized computing. (e.g. CICS-Customer Information Control System)
< Two liabilities of mainframe computing:

= mainframe handles all processing work
= request and response packets between terminal and mainframe occupy lots of bandwidth

< Client/server computing is distributed computing:

= Client: requests a service from another computer
= Server: provides information or connections to other computers

< The client/server model contains single database servers and distributed databases.
< Distributed databases reduce bottlenecks.
< The most efficient way to translate human readable language into machine-readable code is SQL (Structured Query Language).
< The key difference between SQL and mainframe retrieval is that the client processes much of the request.
< Client/server benefits include shared processing and a modular approach to computing.
< Heterogeneous systems can work together thanks to open standards such as TCP/IP and ODBC.
<
The client/server model gives the ability to adjust to new demands and allow users more control over their own files.
< Workstation: terminal or PC on a network
< Web based networking is also called collaborative computing.
< Web based networking uses mainframes and client/server model.
< Extranet: network that connects enterprise intranets to the internet
< Web based networking combines the power of mainframe computing with the scalability of client/server computing.
< Three basic elements of a network:

= Protocols: rules of communication for a network
= Transmission media: method for elements to interconnect
= Network Services: resources shared with all users

< Two basic types of network:

= Peer-to-Peer: does not require dedicated resources
= Server based: consists of nodes dedicated to providing resources to other nodes or hosts

< Enterprise network characteristics:

= systems are capable of translating packets of one architecture to another using gateways
= systems that support multiple architectures exist on the network

< Network topologies:

= Bus: requires that all computers tap into the same cable
= Star: connect through a central device, usually a hub
= Ring: no central connection point, a cable connects each node until a ring is formed
= Hybrid: incorporates bus, star, and ring topologies

< The backbone is the highest level in the network hierarchy

= Mesh topologies connect devices with multiple paths so no redundancies occur.

< A network operating system (NOS) manages all resources on the network.
< Interoperability is the ability of one computer system to communicated with another.

Lesson 2: Networking Protocols

< Network protocols are established rules that enable data to flow from one NIC (Network Interface Card) to another

< Three functions of the OSI/RM (Open Systems Interconnect/Reference Model):

= gives developers universal concepts to develop perfect protocols
= explains the framework used to connect heterogeneous systems
= describes the process of packet creation

< Seven layers of the OSI/RM:

= 7 Application: interface to the end user
= 6 Presentation: provides useful transformations to support standard interface
= 5 Session: establishes and manages connections
= 4 Transport: provides transparent transport between end points
= 3 Network: organizes data into datagrams
= 2 Data Link: provides data transfer across the physical link

Ø LLC (Logical Link Control) Layer: error, flow control and timing; manages link control and defines service access points
Ø MAC (Media Access Control) Layer: framing and physical addressing; places data on the transmission media

= 1 Physical: responsible for characteristics to establish maintain and deactivate the physical link

< Packet: fixed piece of information sent across a network

< Three elements of a packet:

= Header
= Data
= Trailer

< Cyclical Redundancy Check: mathematical calculation that allows the receiving computer to verify whether a packet is valid

< Application Layer Protocols:

= SMTP (Simple Mail Transfer Protocol): used to send e-mail from host to host
= HTTP (Hypertext Transfer Protocol): TCP/IP suite protocol that interconnects Web pages
= SMB (Server Message Block): allows files to be shared on a Microsoft network
= NCP (Netware Core Protocol): allows files and printers to be shared on a Netware network
= NFS (Network File System): allows files and printers to be shared on a UNIX network

< Transport Layer Protocols:

= TCP (Transmission Control Protocol): TCP/IP suite protocol that provides reliable delivery and manages sessions
= SPX (Sequenced Packet Exchange Protocol): manages communication sessions
= NWLink: Microsoft Implementation of IPX/SPX; operates at Transport and Network layers
= NetBEUI: nonroutable protocol that allows different applications on different computers to communicate with one another; operates at Transport and Network layers

< Network Layer Protocols:

= IP (Internet Protocol): TCP/IP suited protocol that is responsible for addressing hosts and routing packets
= IPX (Internetwork Packet Exchange): provides addressing for Novell IPX/SPX suite
= NWLink (NetWare Link): Microsoft Implementation of IPX/SPX; operates at Transport and Network layers
= NetBEUI (Network Basic Input/Output System (NetBIOS) Extended User Interface): nonroutable protocol that allows different applications on different computers to communicate with one another; operates at Transport and Network layers

< Data Link Layer Protocols:

= Ethernet: LAN protocol created by Xerox, Digital Equipment, and Intel; the most popular LAN technology

< Major Networking Protocols:

= TCP/IP
= IPX/SPX
= NetBEUI
= AppleTalk
= Data Link Control (DLC)
= Systems Network Architecture (SNA)

< Connection-oriented (stateful) protocols are more reliable but require more overhead than connectionless (stateless) protocols.
< Connectionless protocols rely on a "best effort" technology that sends information in hopes that it reaches the other system. (e.g. IP protocol)

< Routable protocols include:

= TCP/IP
= IPX/SPX

< Nonroutable protocols include:

= NetBEUI
= NetBIOS
= SNA
= LAT (Local Area Transport)
= DLC

< To effectively use a nonroutable protocol, add a bridge to encapsulate the nonroutable protocol within a routable protocol. This method is called tunneling.
< TCP/IP is the official protocol of the Internet.
< TCP/IP suite protocols:

= TCP
= UDP (User Datagram Protocol)
= ICMP (Internet Control Message Protocol)
= ARP (Address Resolution Protocol)
= IP

< Five classes of IP addresses:

= A: used for large networks
= B: used for medium networks
= C: used for small networks
= D: used for multicasting
= E: experimental

< TCP/IP allows heterogeneous networks to communicate efficiently.
< IPX/SPX protocols:

= IPX
= SPX

< Microsoft also supports IPX/SPX but has renamed it NWLink (NetWare Link).
< IBM first developed NetBEUI, but Microsoft has implemented it as a solution for its peer-to-peer networks; it is a nonroutable protocol, which limits its usefulness.
< NetBIOS was originally designed for use with NetBEUI and is currently declining in popularity and mainly used as a programming interface for applications. NetBIOS resides at the Session layer and can operate over NetBEUI as well as routable protocols such as TCP/IP and IPX/SPX.
< AppleTalk is used only in Apple networks. It divides groups of computers into zones
< DLC was developed by IBM to enable client machines to work with mainframes; however, Hewlett-Packard has adopted DLC as a means to connect its laser printers to LANs.
< IBM introduced SNA in 1974 as a mainframe network architecture. It includes a network topology and a series of protocols.

Lesson 3: LANS and WANS

< A LAN is a group of computers connected within a confined geographic area.
< A WAN is a group of computers connected within an expansive geographic area.
< A NAP (Network Access Point) is a junction between one high-speed network and another.
< NAP connections are usually made by either a router or a switch.
< Backbone: the part of a network that carries the majority of network traffic;
< Segment: part of a larger structure
< Common Network Components:

= NIC (Network Interface Card): the interface between the computer and the network.

Ø NICs operate at the Data Link Layer
Ø Most NICs contain a transreceiver, a device that transmits and receives analog or digital signals.

= Repeater: low-level device that amplifies the signal on a cable segment

Ø Repeaters operate at the Physical Layer.

= Hubs: connect computers in a Star network

Ø Hubs operate at the Physical Layer.

= Bridge: filter frames to determine whether it belongs on a local segment or another LAN segment

Ø Bridges operate at the Data Link Layer and use hardware addressing.
Ø Bridges are independent of all upper layer protocols.

= Router: similar to a bridge, it determines the path along which network traffic should be sent

Ø Routers operate at the Network Layer.

= Brouter: incorporates the functionality of bridges and routers

Ø Brouters operate at the Data Link and Network Layers.

= Switch: directs the flow of information from one node to another

Ø Switches can operate at several layers of the OSI/RM.
Ø Switches are faster than other network components.
Ø Benefits of switches:

v easy to install
v higher speeds
v more bandwidth

= CSU/DSU (Channel Service Unit/Data Service Unit): terminates physical connections

= Gateway: protocol converter

Ø Gateways can operate at any level of the OSI/RM.
Ø Gateways are much more complex than that of a router or switch.

= Modem: a device that enables a computer to communicate with other computers over telephone lines
= Patch Panel: a group of sockets that switch data manually between inbound and outbound transmissions

< Three options for handling increased LAN traffic:

= use a bridge
= use a LAN switch (Layer 2 switch)
= increase network bandwidth

< Twisted pair cable is the most widely used system in Ethernet networks.
< Twisted pair segments cannot exceed 100 meters.
< Two basic types of twisted pair:

= STP (Shielded Twisted Pair): metal sheath wrapped around the wires
= UTP (Unshielded Twisted Pair): less expensive and less secure than STP; prone to electromagnetic interference

< Two varieties of wire in UTP and STP:

= Stranded: most common; flexible and easy to handle
= Solid: can span longer distances without as much attenuation but it is less flexible

< Attenuation: the weakening of a signal as it travels farther from its source
< Seven categories of twisted pair:

= CAT 1: used for voice, not for data
= CAT 2: 4 Mbps; used for Token Ring
= CAT 3: 10 Mbps; used for Ethernet
= CAT 4: 16 Mbps; used for Token Ring
= CAT 5: 100 Mbps; used for Ethernet and Fast Ethernet
= CAT 6: 155 Mbps; used for Fast Ethernet
= CAT 7: 1000 Mbps; used for Gigabit Ethernet

< An RJ 45 connector is larger than RJ-11.
< Coaxial cable provides higher bandwidth than twisted pair cable.
< Thick coax (10base5; thicknet) is the Ethernet standard.
< Thicknet works where electromagnetic interference exists.
< Thin coax (10base2; thinnet) is used for smaller networks
< Coaxial cable is connected to NICs with BNCs.
< Fiber optic cable is much faster than coax and twisted pair.

= Fiber optic cable consists of two small glass strands; one sends and one receives

< Two types of fiber optic cable:

= Single mode: uses specific light wavelengths
= Multimode: uses a large number of frequencies

< Synchronous transmission: access device and network device share a clock and a transmission rate (e.g. T1 lines)
< Asynchronous transmission: access device is not synchronized with the network device (e.g. dial up modem)
< Three methods of data transmission flow:

= Simplex: data travels in only one direction
= Half duplex: data travels in two directions but in only one direction at a time
= Full duplex: data travels in two directions simultaneously

< Baseband: uses the entire bandwidth for a single channel; uses time division multiplexing (TDM)
< Broadband: divides bandwidth into multiple channels; each channel carries a separate signal; used only for analog signals; uses frequency division multiplexing (FDM)
< Logical topology refers to the signal’s path.
< Physical topology refers to the way devices are connected.
< Carrier Sense Multiple Access/Collision Detection (CSMA/CD), token, and demand priority LAN technologies are all included in the 802 series of the IEEE LAN standards.
< IEEE 802.2 divides the OSI/RM Data Link Layer into sublayers:

= LLC
= MAC

Ø MAC addresses are burned onto a NIC by the manufacturer.
Ø MAC addresses use twelve hexadecimal digits to form 48-bit addresses (6 bytes).

< IEEE 802.3 (Ethernet)

= Ethernet is a predecessor to IEEE 802.3 standard.
= It is a broadcast system for communication between systems.
= Ethernet does not totally comply with the 802.2 standard.
= All Ethernet/IEEE 802.3 use CSMA/CD.

< IEEE 802.3u (Fast Ethernet)

= 100 Mbps; Star topology

< IEEE 802.3z and 802.3ab (Gigabit Ethernet)

= the fastest LAN technology and is primarily used for backbones
= 802.3z uses copper or fiber optic cabling
= 802.3ab uses CAT 5 UTP

< IEEE 802.5 (Token Ring)

= uses token passing instead of CSMA/CD
= Token Ring networks appear to use Star topology but they actually use an MAU (multistation access unit)

< IEEE 802.12 (100VG AnyLAN)

= supports demand priority
= hub simultaneously arbitrates when and how systems access the network

< Apple LocalTalk

= uses CSMA/CD

< FDDI

= token based architecture that uses two counter rotating rings
= classified as a municipal area network (MAN)

< X.25 is a WAN standard that operates at 56Kbps or slower.

= X.25 operates at the Network Layer

< Frame Relay is a fast packet switching technology that uses fiber optic and digital cabling

= uses Permanent Virtual Circuits (PVCs) and variable length packets
= operates at 64Kbps-1.544Mbps

< ATM (Asynchronous Transfer Mode) is mostly used in Internet backbones

= uses cell relay technology and fixed length cells
= operates at 155Mbps-622Mbps

< To connect a T1 line you need:

= CSU: diagnoses and prepares signals
= DSU: convert LAN signals to T1

< A router is the interface between LAN and T1
< T-Carrier system connection speeds:

= T1:1.544 Mbps
= E1: 2.048 Mbps
= T2: 6.312 Mbps
= E2: 8.448 Mbps
= E3: 34.368 Mbps
= T3: 44.736 Mbps
= E4: 139.264 Mbps
= T4: 274.176 Mbps
= E5: 565.148 Mbps

Lesson 4: TCP/IP and Internet Addressing

< The Internet architecture consists of four layers

= Application: corresponds to the Presentation and Application Layers of the OSI/RM
= Transport: corresponds to the Transport and Session Layers of the OSI/RM
= Internet: corresponds to the Network Layer of the OSI/RM
= Network Access: corresponds to the Physical and Data Link Layers of the OSI/RM

< The Network Access Layer consists of:

= operating system’s device driver
= interface card
= physical connections

< The Network Access Layer transmits higher layer datagrams over the network, handling all hardware details

< Protocols used at the Network Layer:

= LAN: Ethernet, Token Ring, FDDI, AppleTalk
= WAN: Frame Relay, serial lines, ATM

< The Internet Layer is responsible for addressing and routing packets.
< Protocols used at the Internet Layer:

= IP: basic data transfer method throughout the Internet RFC 791
= ICMP: troubleshooting protocol of TCP/IP RFC 792
= IGMP (Internet Group Management Protocol): used for multicasting, one sources sends messages to a group of subscribers RFC 1112
= ARP: translates Internet addresses into Physical addresses RFC 826
= RARP (Reverse ARP): translates Physical addresses into Internet addresses RFC 903

< The Transport Layer accepts Application Layer data, divides it into packets, and provides flow of information between hosts.
< Protocols used at the Transport Layer:

= TCP: provides session management between source and destination
= UDP: simple datagram form of communication

< The Application Layer interacts with the Transport Layer to send and receive data
< Protocols used at the Application Layer:

= HTTP: transports HTML documents across the Internet RFC 1945 and RFC 2616
= FTP: (File Transfer Protocol): system for transferring files between TCP/IP computers RFC 959
= Telnet: terminal emulation protocol; allows users at a site to log on and run programs from a remote system RFC 854
= NNTP (News Network Transfer Protocol): allows Internet sites to exchange UseNET articles RFC 977
= Gopher: menu based program used to find resources on the Internet RFC 1436
= SMTP: Internet standard protocol for e-mail transfer RFC 821
= SNMP (Simple Network Management Protocol): used to manage TCP/IP networks RFC 1157
= DNS (Domain Name Server): used to translate host names into IP addresses RFC 1034 and RFC 1035
= BOOTP (BOOTstrap Protocol): an alternative to RARP RFC 951
= DHCP (Dynamic Host Configuration Protocol): based on BOOTP; assigns Internet addresses to nodes on a TCP/IP network during initialization

< Port Numbers

= FTP: 21
= SMTP: 25
= DNS: 53
= HTTP: 80

< RFC (Request for Comments): published documents of interest to the Internet community.
< Protocol states:

= Experimental: only used in laboratory situations
= Proposed: may be considered for future standardization
= Draft: being seriously considered to become Internet standards
= Standard: determined by IESG to be an official standard protocol on the Internet
= Historic: protocols that have been replaced by recent ones
= Informational: developed outside of IETF/IESG

< Demultiplexing is the method a destination computer uses to process incoming packets.
< The Internet Layer performs the routing of protocols:

= Routing is the process that determines the path that packets travel across a network.

Ø one of the most important IP functions

< Routing has two classifications:

= Direct: two computers on the same network
= Indirect: two computers on separate networks

< Routing involves two key elements:

= host must know which router to use for given destination
= router must know where to send the packet

< A routing information table is a database maintained by a router; the table contains the location of all networks
< Hop: link between two network devices
< Static routers contain information that must be built and updated manually
< Dynamic routers communicates with other dynamic routers using protocol such as RIP and OSPF
< Routing protocols determine how routers share information and report routing tables.
< Interior routing protocols are used within an organization’s network. (e.g. RIP, OSPF)
< Exterior routing protocols are used outside an organization’s network. (e.g. EGP, BGP)
<
RIP (Routing Information Protocol): maintains only the best route to a destination.

= RIPv1 RFC 1058
= RIPv2 RFC 2453

< OSPF (Open Shortest Path First): gateway that maintains protocols; overcomes RIPs shortcomings. RFC 2328
< OSPF features:

= various types of service routing
= load balancing
= network areas
= authenticated exchanges
= defined route support

< Ports 1-1023: well known port numbers
< Ports 1024-65535 : registered port numbers
< Ports 1-1023 are controlled by ICANN.
< No process can bind to well known ports unless user id=0.
< Registered port numbers are non-privileged, which means any process can use them.
< Internet addresses are broken into a Network portion and a Host portion.
< Each dotted quad has one byte of data and there are four fields. (0-255)
< Internet Address Classes:

= A: 0.0.0.0-127.255.255.255
= B: 128.0.0.0-191.255.255.255
= C: 192.0.0.0-223.255.255.255
= D: 224.0.0.0-239.255.255.255
= E: 240.0.0.0-247.255.255.255

< A: first byte is network, last three bytes are host
< B: first two bytes are network, last two bytes are host
< C: first three bytes are network, last byte is host
< D: multicasting, all bytes are network
< E: reserved for future use
< Loopback address: 127.0.0.1; used to ping network
< Broadcast address: 255; send messages to all hosts:

= Limited broadcast: 255.255.255.255
= Net-directed broadcast: netid.255.255.255.255
= Subnet-directed: 255.255.255.255 within a subnet
= All subnets-directed: not used anymore

< Three reserved blocks of IP addresses:

= 10.0.0.0-10.255.255.255
= 172.16.0.0-172.31.255.255
= 192.168.0.0-192.168.255.255

< Subnet mask: 32-bit number with one-to-one correspondence between each of the32 bits in the Internet address
< Subnet masks two main purposes:

= distinguish network and host portions of IP address
= specify whether destination address is local or remote

< Default subnet masks:

= Class A: 255.0.0.0
= Class B: 255.255.0.0
= Class C: 255.255.255.0

< Ipv6 uses 128 bit addresses instead of 32 bits.
< Normal TCP/IP desktop configurations:

= IP address: 32 bit address unique to the workstation
= Subnet mask: 32 bit number used to distinguish network and host portion of IP address
= Default Gateway: local IP address if destination address is remote
= DHCP Client: alternative to entering static IP address

< Name resolution configurations:

= Host name
= Domain name
= DNS server
= NetBIOS name
= WINS server

< Diagnostic tools for Internet troubleshooting

= ping: tests connectivity between source and destination systems
= tracert: determine the path between source and destination
= netstat: displays contents of various network related data
= ipconfig: displays Windows NT/2000 configuration
= winipconfig: determine network card’s IP configuration and Ethernet address
= arp: resolves software addresses to hardware addresses

< Network analyzers allow administrators to analyze data traversing a network:

= monitor network traffic
= identify problems and send alert messages
= identify specific problems
= test network connections, devices, and cables

Lesson 5: Internetworking Servers

< Network services have become more decentralized.
< Common servers found on the Internet:

= File and Print servers:

Ø File servers store data files and programs.
Ø Print servers allow multiple users to print to the same printer.

v LPR/LPD is a printing protocol used by NT/2000 and UNIX.

= Web server has access to set of documents that it may return to a client in response to a request.

Ø HTTP server can download any type of file.
Ø Multipurpose Internet Mail Extensions (MIME) allows HTTP and e-mail attachments to identify the files they must use.
Ø S/MIME is used for secure transactions.
Ø The MIME type identifies the contents of a file.
Ø Common Web Servers:

v Apache
v Microsoft IIS
v Netscape Enterprise

= Proxy servers provide enhanced security, manage TCP/IP addresses and speed access to the Internet by caching server functions for frequently used documents.

Ø Additional services of a Proxy server:

v caching web documents
v corporate firewall access
v filtering client transactions
v transaction logging
v securing the host
v enhanced administration

= Caching servers speed data access by storing retrieved data then presenting it to users who later request it.
= Mail servers store and forward e-mail messages.

Ø SMTP, POP, and IMAP all reside at the Application Layer of the OSI/RM.
Ø Two ways to store and access e-mail:

v POP3
v IMAP

Ø MIME is used to transmit files with e-mail.
Ø UUCoding was used to transmit non-text files with e-mail.
Ø BinHex: Apple

= Mailing List servers are SMTP servers that forward e-mail to members on a distribution list.
= Media servers offer streaming audio and video

Ø Buffer: cache of memory used to store frequently used data

= DNS Servers contain the application that supports name-to-address translation.

Ø DNS is a decentralized system.
Ø HOSTS file is a text file referenced by applications and commands for name-to-address resolution.
Ø DNS is hierarchical and distributed.
Ø DNS consists of three levels:

v root-level domain: contains entries for each top-level domain
v top-level domain: consists of categories at the end of domain names

¨ divides domains into organizations, businesses, and other categories

v second-level domain: include the businesses and institutions that register their domains with top-level domains

¨ can be divided into sub-domains

Ø DNS components:

v name server: supports name-to-address translation and runs the DNS service
v name resolver: software that uses services of one or more name servers to resolve unknown requests

Ø DNS server types:

v root server: all top level domains on the Internet
v primary server: the authority for a domain and maintains DNS databases for its domain
v secondary server: receives authority and database from primary server

Ø DNS records provide additional routing and resolution information.

v name server (NS): identifies DNS servers for the DNS domain
v start of authority (SOA): identifies the DNS server that is best source for information
v address (A): most commonly used; associates to IP addresses
v canonical name (CNAME): creates alias for specified host
v mail exchanger (MX): identifies server used to process and deliver e-mail

= FTP servers allow file transfers between servers in real time and allow for larger files to be sent over the Internet:
= News servers use NNTP to access Usenet databases.

Ø SSL (Secure Sockets Layer) provides security in a newsgroup.

= Certificate servers validate keys, which are strings of ciphertext generated from a series of algorithms to allow secure communications.
= Directory servers identify all resources on a network.

Ø Two protocols serve as a basis for most directory services:

v X.500: OSI protocol used to manage user and resource directories; offers scalability, synchronization, and replication
v Lightweight Directory Access Protocol (LDAP): developed from X.500 but easier to implement because it is based on TCP/IP

= Catalog servers provide a single point of access that allows users to search for information across a network.

Ø Robots are catalog servers that automate indexing with the use of algorithms.

= Transaction servers guarantee that all databases are updated when a transaction takes place.

Ø replacements for CICS mainframe servers
Ø The Internet Daemon: inetd
Ø inetd is a UNIX service that starts other Internet services.
Ø Services typically launched by inetd:

v smtpd
v tftd
v telnetd

Ø inetd can present security problems because it has a root permission.

= Mirrored servers provide data redundancy to protect data.

Lesson 6: Server-side Scripting and Database Connectivity

< Server-side scripting is a piece of code that activates programs on the server.
< Client-side scripting is embedded into HTML files freeing the load on the server.
< HTTP Gateway is the script or mini-application that allows HTTP servers to pass data to a program or database and return the output.
< Application Program Interface: method that allows programmers to make requests of an OS or application
< Guidelines for combining server-side and client-side scripting:

= access to data on the client should use client-side scripting
= access to any other data should use server-side scripting
= changes to HTML layout and properties should use client-side scripting

< HTML Forms and Form Processing:

= METHOD: sets method by which browser sends form data

Ø GET: data is appended to the URL that points to the location where the form is submitted
Ø POST: data is sent separately from the call to the script using standard input

= ACTION: specifies gateway path used to process form

< Common Gateway Interface (CGI) is the most simple and universal gateway.
< CGI scripts are typically located in a folder named CGI-BIN
< CGI is not platform specific.
< Each CGI script runs as a separate process.
< CGI Alternatives: Server Programming Alternatives

= ISAPI: Microsoft proprietary HTTP server extension that allows the server to execute programs and scripts without CGI; favors VBScript
= NSAPI: supports different languages and has a slightly different environment than ISAPI; favors JavaScript

< CGI Alternatives: Scripting Technologies

= JavaServer Pages (JSP): uses Java servlets and is not proprietary
= Personal Home Page (PHP): can be embedded into HTML
= Active Server Pages (ASP): Microsoft proprietary
= Server-side JavaScript (SSJS): Netscape proprietary

< CGI Alternatives: Java servlets

= complement the HTTP server
= less platform-specific

< Three types of databases:

= non-relational (DBMS):

Ø hierarchical: only one user at a time can access
Ø network: many users can access

= relational (RDBMS): uses tables that index the data
= object-oriented (ODBMS): attempt to mimic real world data relationships

< Two types of database connectivity:

= ODBC (Open Database Connectivity):Microsoft standard API for SQL to access relational databases
= JDBC (JavaScript Database Connectivity): allows Java to process SQL statement within Java programs.

Lesson 7: Network Security Essentials

< Security is defined as a means to reduce vulnerability of data and resources.
< Assets: data, applications, and resources on any computer
< Network assets:

= local resources: workstations
= network resources: communications media
= server resources: Web, e-mail, and FTP servers
= database and information resources: how a company organizes and disseminates information

< Types of attacks by hackers:

= Spoofing attacks occur when a hacker assumes the identity of a legitimate network device.
= Man-in-the-middle attacks occur when a hacker captures packets being sent from one host to another.
= Denial-of-service attacks occur when the host or system cannot perform properly because another program is using all of its resources.
= Insider attacks are eavesdropping on messages between applications and compromising existing mechanisms.
= Brute force attacks occur when a hacker attempts to gain access as a legitimate user.
= Trapdoor attacks occur when hackers establish certain commands that open unauthorized access.
= Replay attacks occur after a hacker captures and alters a key part of a message.
= Trojan horse attacks are a variation of Trapdoor attacks that involve hiding an unauthorized command within a commonly used function to cause a breach.
= Social engineering attacks occur when a hacker attempts to obtain information about a network through simple tricks.

< A virus is a malicious program designed to damage network equipment, including stand-alone computers.
< Viruses affect programs at the Application Layer.
< Types of viruses:

= macros: small programs written in macro code for word processing or spreadsheet applications
= executables: viruses that attach themselves to executables and are activated when the user launches the program
= boot sector: viruses that copy themselves to the boot sector of hard drives allowing themselves to be loaded into memory each time the system is booted up.
= stealth: attempts to avoid detection by redirecting hard drive read requests from the scanning software
= polymorphic: has programming code enabling it to execute differently each time it is activated

< The hacker process:

= Stage 1 Discovery: hacker gains information about the target system
= Stage 2 Penetration: hacker chooses a target
= Stage 3 Control: hacker attempts to control the system

< Defeating attacks:

= Authentication provides unique identity upon presentation.
= Access control grants various levels of file or directory permissions.
= Data confidentiality provides protection of data from unauthorized access.
= Data integrity provides protection against active threats that attempt to alter messages before they are sent or received.

< Auditing is the process of examining your systems and procedures to determine their efficiency.

= status quo analysis: current level of security
= risk analysis: determines which networks are vulnerable
= threat analysis: determines probable attacks

< Intrusion-detection software (IDS) monitors traffic and shuts down any unsafe activity
< Authentication is the ability to determine a user’s true identity.
< Three methods of authentication:

= What you know (login, password)
= What you have (key, smart card)
= Who you are (physical attributes)

< Three types of encryption:

= symmetric-key: one key is used; 40 or 128 bits
= asymmetric-key: uses a pair of keys; one encrypts and one decrypts
= one-way: uses a hash table

< A virtual private network (VPN) allows secure communication across long distances.
< VPNs are tunneling protocols, which means they encapsulate data packets into other data packets.
< RAS (Remote Access Service) requires users to dial-up and log on to a RAS server. (uses a callback feature)
< Point-to-point Tunneling Protocol is a popular VPN protocol.
< L2TP is an IETF tunneling protocol.
< IPSec provides packet level encryption.
< SSL allows private exchange over public networks.
< SSL uses digital certificates (asymmetric key).
< Digital Certificates contain digital signatures to ensure that a message has not been altered.
< Firewall: a secure system placed between a trusted network and an untrusted one (e.g. Internet)
< Firewalls allow users from a protected network to access a public network while making the protected network available to the public.
< A packet filter is a device that inspects a packet for predefined content; works at the Data Link, Network, and Transport Layers of the OSI/RM.
< A Proxy Server replaces IP addresses on a network with another contingent address.

= circuit-level gateway: proxy between the Internet and internal systems
= application-level gateway: can serve as an SMTP firewall

< Firewall Topology:

= packet filter: inspects only Internet addresses and port numbers
= single-homed bastion: one computer acts as a firewall and a network interface
= dual-homed bastion: has two or more NICs with IP forwarding disabled
= screened subnet (demilitarized): creates a secure space between the Internet and a network

CIW-Internet Fundamentals

< The Internet was formed in 1968 by the Advanced Research Project Agency and was originally called ARPANET.
< In 1989, ARPANET decommissioned and switched over to National Science Foundation (NSFNet).
< The World Wide Web resembles an electronic library; each location is like a book.
< Hypertext Markup Language (HTML): standard authoring language used to develop Web pages.
< The Web is not a network like the Internet, but a set of software programs.
< Internet communication is made possible by TCP/IP.
< TCP/IP divides data into packets and sends each packet separately across the Internet.
< Every device on the Internet has an Internet Protocol (IP) address.
< IP address format is referred to as dotted quads.
< Internet Protocol version 6(IPv6) is the new protocol for the Internet.
< Ipv6 supports approximately four trillion IP addresses by using 128-bit IP addresses.
< Ipv6 solves address shortages as well as a routing table problem inherent with the current Internet Protocol version 4 (IPv4)
< The Client/Server model is a distributed computing system in which tasks are divided between the server and the client.
< Three elements required for the client/server model:

= client software application on the end user’s host
= server-software application on the information provider’s host
= network hardware allowing communication between the client and server

< The Internet was initially designed to operate on the UNIX operating system.
< Pull technology refers to a computer that requests information from another computer.
< Push technology sends data to a computer without the request.
< Six elements are required to support an Internet client:

= computer
= operating system
= TCP/IP
= client software
= Internet connection
= Internet addresses

< Connection types:

= dial-up: use a modem to connect to the Internet
= direct: continuous access to the Internet

< Serial Line Internet Protocol (SLIP) has been replaced by Point-to-Point Protocol (PPP) for the following reasons:

= SLIP only supports IP addresses whereas PPP supports other protocols
= SLIP does not support authentication

< Direct Internet connection types:

= LAN

Ø T1: 1.544 Mbps
Ø T3: 44.736 Mbps

= Cable

Ø 512 Kbps-52Mbps

= DSL

Ø 512 Kbps-10Mbps

< HTTP is the protocol used to transfer Web pages from a Web server to a Web client.
< FTP is the protocol used to transfer files between computers.
< SMTP is the protocol used to send e-mail.
< POP is the protocol used to receive e-mail.
< IMAP is the protocol used to sort e-mail once it arrives on the server; it forwards the e-mail to the correct SMTP client.
< Telnet is the protocol used with shell accounts (text only).
< Usenet newsgroups use NNTP.
< Gopher is an older menu-based program in UNIX based systems.
< Domain Name System translates IP addresses into recognizable names.
< A fully qualified domain name (FQDN) is the complete domain name of an Internet computer.
< Top-level domains:

= .com
= .edu
= .gov
= .mil
= .org
= .net
= .int

< Internet Corporation for Assigned Names and Numbers (ICANN): verifies which companies can serve as domain name registrars.
< Internet Network Information Center (InterNIC): the company that registers domain names on the Internet.
< Virtual domain: provides a private Web address, regardless of where the Web site is hosted
< Uniform Resource Locator (URL): text string that supplies the Internet address, and the method by which it can be accessed.
< Intranet: an in house Web site used by employees within a company
< Extranet: a Web site provided for existing customers, not available to the Internet public

Lesson 2: Browsing the World Wide Web

< Tim Berners-Lee created the World Wide Web at the European Laboratory for Particle Physics (CERN).
< The Worldwide Web Consortium (W3C) promotes standards and encourages interoperability among Web products.
< Legacy applications are applications that have existed for many years.
< The History folder allows easy access to previously viewed Web pages in your Web browser.
< Browser cache is a folder on your hard drive that stores downloaded files.
< Two situations when image loading should be disabled:

= when conducting research
= when there is a slow Internet connection

< Wireless Application Protocol (WAP): standard protocol for wireless devices
< Wireless Markup Language (WML): markup language that allows text portions of Web pages to be presented to wireless devices

Lesson 3: E-Mail

< All e-mail addresses use the following format:

= name@domain

< E-mail is sent using SMTP
< In order to send e-mail you must configure the following:

= an SMTP server address
= an e-mail address

< E-mail is received using POP or IMAP.
< In order to receive e-mail you must configure the following:

= a POP server address
= an account name
= an account password

< Netiquette is common sense, politeness, and general rules for Internet etiquette.
< An e-mail signature is a few lines of text at the bottom of each of your sent messages.
< An employer has legal ownership of any e-mail created at your job.
< E-mail is a written record
< Almost any ki nd of file can be attached to an e-mail message.
< Mailing lists allow hundreds of people to discuss tightly focused topics.

Lesson 4: FTP, Telnet, and Newsgroups

< FTP is a TCP/IP suite protocol that allows the transfer of files between computers.
< Two types of resources available by FTP are:

= large text files
= binary files: a file made up of ones and zeros

< The GET command is used to download a file using FTP.
< The PUT command is used to upload a file using FTP.
< Newsgroups are loosely part of a bulletin-board system called UseNET (User Network).
< 10 Internet wide categories of newsgroups:

= biz: entirely commercial topics
= comp: topics related to computers
= news: topics related to Usenet news
= rec: topics related to recreation
= sci: scientific topics
= soc: social discussions
= talk: controversial topics
= humanities: humanities
= misc: miscellaneous topics
= alt: adult-oriented; alternative topics

< Newsgroups have a standard tree structure.
< Telnet is similar to a dial-up shell account.
< Telnet is a protocol used on a UNIX operating system.

Lesson 5: Objects, Plug-Ins, and Viewers

< Objects enable Web authors to include numerous multimedia effects, also called active content, into Web sites.
< C is a programming language used primarily to create operating systems.
< Object-Oriented Programming (OOP) is a programming concept based on objects and data instead of logic and action.
< C++ is a superset of C that uses OOP.
< Java is an OOP that is cross-platform functional.
< Java applets are programs written in Java and designed to run within a web browser.
< Java applets can be dynamic and interactive
< Java applet special effects include:

= inline video, changing text, and animation: dynamic objects that can be embedded in Web pages without the need for external applications or plug-ins
= audio: sound files that play when an applet is invoked
= user interaction: interaction between the user and a displayed applet
= real-time data feeds: feeds that maintain an open connection between the server and an applet on a Web page

< JavaScript was the first scripting language developed exclusively for online content design.
< JavaScript is an event driven scripting language.
< Java is an object-oriented programming language.
< Java can create stand-alone applications and Java applets.
< JavaScript must reside within HTML documents to run.
< JavaScript adds interactivity to Web pages without the need for specialized server-based programs.
< Jscript is the Microsoft version of JavaScript.
< ActiveX is an open set of technologies for integrating components on the Internet and within Microsoft applications
< ActiveX objects can play sounds, show video clips, animation sequences, or demonstrate 3-D reality simulations.
< VBScript is Microsoft’s response to JavaScript.
< VBScript can manipulate objects in two categories:

= standard HTML object: display button, radio button, check box, or password field
= ActiveX control: more powerful and flexible; invoked by user action

< A Plug-In is a program installed as part of the Web browser to extend its functionality.
< Three ways in which a plug-in can appear:

= full-screen: the plug-in completely fills the browser
= embedded: the plug-in appears as part of a larger document
= hidden: the plug-in is not visible but running in the background

< Two types of plug-in installation are:

= online: installed with the browser open
= offline: requires download and installation

< Types of plug-ins:

= RealPlayer: used for streaming audio and video
= Shockwave and Flash: a group of multimedia players that deliver animation, sound, and graphics
= QuickTime: method of storing video and audio files in digital format
= Windows Media Player: standards based plug-in that plays streaming audio and video

< Virtual Reality Modeling Language (VRML) is a three dimensional authoring language that features the following:

= high performance viewing: 3-D spaces can be accessed at high speeds
= animation: VRML accommodates objects with lifelike behaviors
= navigation: VRML enables 3-D navigation via simulated walking, flying, or pointing

< Viewers are scaled-down versions of applications; designed for viewing and printing files.
< Types of viewers:

= Microsoft PowerPoint Viewer: allows you to view Microsoft PowerPoint slides presentations
= Adobe Acrobat Reader: allows you to view files created in Adobe Acrobat

Ø portable document format: a general file format that can be created and read on any computer, regardless of the operating system

< Moving Pictures Expert Group (MPEG): a standard for digital audio and video compression that provides extremely high quality and resolution

= MPEG plug-ins allow browsers to view MPEG video that has been formatted with proprietary software.
= MPEG video files are not inherently bandwidth-friendly and do not stream well on slower connections.

< MPEG-1 Audio Layer-3 (MP3) is a standard for compressing audio files that uses the MPEG-1 standard; it compresses audio files to one-twelfth its original size.
< MP3 files are non-streaming in that users download them before playing the files.
< LiveVideo is Netscape’s built-in support product for standard Audio Video Interleave (AVI) files; it allows users to instantly view AVI movies embedded in Web pages, without downloading the files for later playback.
< RealTime Streaming Protocol (RTSP): streaming format that can be embedded and directly executed within the Netscape Navigator browser; it is fully cross-platform.

< Types of audio files:

= Audio Interchange File Format (AIFF): high quality audio format developed by Apple
= AU: audio format used by UNIX servers
= MIDI
= Waveform (WAV)

< Encapsulated PostScript (EPS) is a file format that can be used to import and export graphic files between operating systems and applications.
< EPS provides three preview formats:

= PICT: Macintosh
= TIFF: IBM-compatible
= EPSI: platform-independent

< Tagged Image File Format (TIFF) is a popular customizable graphic format commonly used for medical imaging and desktop publishing.
< TIFF supports grayscale, 8-bit and 24-bit color, and monochrome formats.
< Rich Text Format (RTF) is a portable text file format created by Microsoft that allows image insertion and text formatting.
< RTF is a level above simple DOS text formatting.
< RTF is a near-universal format.

Lesson 6: Search Engines

< A search engine is a powerful software program that searches the Internet for specified information.
< Keywords are used to find information on a specific subject.
< A "relevancy" is used to determine how closely a Web site matches your topic.
< The <META> tag is used to embed information for searches into a Web page.
< <META> information can be:

= keywords
= an expiration date
= author of the web site
= a site description

< Three types of search indexes:

= static index/site map: allows users to manually search through directories to located indexed information
= keyword index: allow users to enter keywords into a search engine to query an index
= full text index: allows users to enter any text string that might exist within a file into the search engine

< Yahoo finds three types of information:

= alphabetized hypertext categories that match the keywords entered into the search engine
= sites that match the keywords entered into the search engine
= Yahoo categories that list those end sites

< AltaVista was originally designed to index the entire Internet.
< Lycos is one of the largest and most complete databases.
< WebCrawler was started as a private project to offer free searching to Internet users.
< Excite not only allows keyword searches, but also contains a cross-referencing field for conceptual searches.
< Boolean operators allow users to narrow their searches by requiring important keywords or excluding keywords that may not be pertinent to a search. (AND, OR, NOT, NEAR)
< A static index search for graphic files is located at Surf Madison Public File Libraries.
< People search databases are created through:

= Internet activity (people who are online)
= A registration process, whereby the individual must submit his or her personal data before listed.
= Traditional telephone books, proprietary phone listings, and other public directories that list people who are not necessarily connected to the Internet.

< Sites devoted to mailing list searches are:

= Listz
= Publicly Accessible Mailing Lists (PAML)

< Deja.com is a way to search for Newsgroups according to subject.
< Archie conducts searches on FTP sites using a Telnet or Archie client.
< Web search engines have almost replaced Archie.
< Gopher allows users to navigate and search computers without the addresses of the servers that store the information.
< Gopher uses a search method called tunneling.
< Very Easy Rodent-Oriented Netwide Index (VERONICA) is used to search Gopher servers.

Lesson 7: Security

< Cookies are small text files created by a Web server that resides on a client’s computer.
< Cookies allow Web site managers to gain marketing information about their visitors, and can customize their Web site to a visitor’s preferences.
< Cookies are saved in different locations, depending on which browser you are using.
< Encryption is used to scramble data between your computer and a secure web server.
< A secure Web site is identified by using the protocol https://.
< Authentication means verifying the identity of the user who logs on to a system. It is also used for verifying integrity of transmitted data.
< Types of authentication:

= anonymous access: no user name or password is required
= basic authentication: user name and password are required but no information is encrypted.
= secure authentication: user name and password required and encrypted
= digital certificates: you must have the proper digital certificate to gain access to the site

< A digital certificate is a digital ID issued by a certificate authority to authenticate and validate Internet data transfers.
< Each browser offers its own security features.
< Encryption is the encoding or scrambling of information using algorithms known as a key.
< A key is a string of numbers used by software that scrambles plain text messages into encrypted text.
< Typical encryption uses either 40-bit or 128-bit keys.
< A virus is a malicious program designed to damage computer systems.
< Virus updates are important for anti-virus software because not even the best virus program will not protect if the anti-virus files are outdated.
< A proxy server is an intermediary between a LAN and the Internet.
< A proxy server provides enhanced security and caching functions.
< Proxy servers provide the following services:

= caching of Web documents reducing network traffic
= corporate firewall access providing safe passage for users through a firewall

< A firewall is the collection of hardware, software, and policy that protects a LAN from the Internet.
< A firewall performs the following functions:

= restricts unauthorized users
= retains control of private information
= prevents unauthorized export of data and information

< The most common type of firewall is called a screen. It blocks traffic on specific routes of access, but allows designated travel to specific sites.

Lesson 8: E-Commerce

< E-Commerce is the integration of communications, data management, and security capabilities to allow the exchange of information related to the sale of goods and services.
< Three main elements of e-commerce:

= communication: support the transfer of information from buyer to seller
= data management: define the exchange format of information
= security: authenticate the source of information and guarantee integrity and privacy

< Two types of e-commerce:

= business-to-business: high volume, low price
= business-to-consumer: high price, low volume

< Electronic Document Interchange (EDI): interorganization exchange of documents in standardized electronic form directly between participating computers.
< The goals of EDI:

= to enable easy and inexpensive communication of structured information throughout the lifetime of an electronic transaction
= to reduce the amount of data capture and transcriptions

= to ensure faster handling of transactions to get an equivalent increase in cash flow

< EDI is encoded in a format governed by ANSI X12, and UN/EDIFACT.
< Companies that should use EDI:

= handle a large volume of repetitive standard transactions
= operate on a very tight margin
= face strong competition, requiring productivity improvements
= operate in a time sensitive environment
= received requests from partner companies to convert to EDI

< Secure Electronic Transactions (SET) a standard protocol used on the Internet to secure online credit card payments
< Principal features of SET:

= enhanced identification
= merchant never sees the credit card number
= all sensitive information must be encrypted and signed
= designed to support credits, returns, reversals, and charge backs

< A payment gateway is a system that interfaces between the merchant and the merchant’s bank to perform credit card authorizations
< Unicode is a text and script character standard that can interchange, process, and display text of all languages.
< Three models of payment processing:

= cash model: the hardest to implement
= check model: funds are not transferred in real time
= credit model: immediate response for all transactions

< A smart card replaces the magnetic strip of a credit card with an integrated circuit for storing and processing data.
< Smart cards enhance authentication.
< Secure Sockets Layer is a technology embedded in Web servers and browsers that encrypts traffic.
< Copyright laws protect original works fixed in a tangible medium of expression; elements include expression and originality.
< The Information Infrastructure Task Force (IITF) codifies copyright laws.
< The World Intellectual Property Organization (WIPO) is a specialized UN agency formed to protect worldwide intellectual property.
< In order to license someone else’s copyrighted material, you must contact the owner and ask for permission.
< A trademark is a word, slogan, symbol, name, package design, or device that marks and distinguishes a product from other products in trade.

< Two ways to implement a storefront:

= in-house solution:

Ø complete control of the hardware and software infrastructure
Ø easier integration into existing back-end enterprise systems

= instant storefront:

Ø quick and easy to implement
Ø less expensive

v online: uses the service provider’s infrastructure
v offline: build and maintain the storefront offline and publish the contents to the Internet

< Project management is a set of techniques, practices, and principles that assist in controlling the main elements of a project.
< A project is a temporary effort to create a unique product such as an e-commerce site.
< The main elements of a project are:

= project schedule
= costs
= performance risks

< Scope is the size of a project
< Scope creep is gradual changes in the scope.
< The Design Development Project Cycle is as follows:

= business process/functionality design: the overall goals of the project

Ø business requirements document: identifies the customers’ needs
Ø scope matrix document: lays out the project scope

= technology/architecture design: plans the project’s design

Ø technical architecture document: contains design and formal specifications of the product

= implementation/development: developing the product according to the project plan
= pilot/parallel: inspecting and testing the product

Ø testing hot links: make sure all links function properly
Ø testing different browsers: make sure the Web pages render in as many browsers as possible
Ø testing for e-commerce site failure and corruption: make sure the e-commerce aspects of the site function properly
Ø testing heavy traffic: make sure the Web servers can handle many simultaneous users
Ø testing various connection speeds: make sure all users can download pages and content in a reasonable amount of time

= cutover/live: live release of the product

< Two key resources of Project Management are:

= Project Management Institute (PMI) is a non-profit membership organization that publishes standards and offers education regarding the project management profession.
= The International Organization for Standardization (ISO) 9000 series is a worldwide grouping of national standards bodies from more than 120 countries.

CIW-Internet Fundamentals

Lesson 1: Introduction to Web Page Authoring

< HTML is the standard authoring language used to develop Web pages.
< Wireless Application Protocol (WAP): standard protocol for wireless devices
< Wireless Markup Language (WML): markup language that allows text portions of Web pages to be presented to wireless devices
< Text editors require that you write HTML code manually.
< GUI editors allow you to create HTML pages without touching the actual code.
< Accessible Web pages have two characteristics:

= a user friendly interface "front-end"
= easy download to visitor’s computers "back-end"

< An accessible Web page should:

= incorporate attractive images and graphical elements
= contain constantly updated content
= use tables wisely
= present carefully designed forms
= use the most current technologies appropriately
= use images sparingly
= be easily navigable
= provide alternate navigation links

< Design and branding standards focus on:

= target markets
= market messages
= media choices
= color combinations
= sales strategies
= technologies to use

< Because HTML pages require a relatively small amount of disk space, they are easy to download over a network.
< Any file downloaded over a network requires bandwidth.
< HTTP 404: the requested file does not exist on the server

Lesson 2: Hypertext Markup Language (HTML)

< Tim Berners-Lee of MIT created HTML, along with his colleagues from CERN, as a means of distributing nonlinear text to multiple points across the Internet.
< Hyperlinks are embedded instructions within a text file that link it to a separate file.
< Hypertext was originally conceived by Ted Nelson in 1965.
< HTML files are plain text files that have been "marked up" with tags.
< Tags are code that is enclosed in angle brackets that provide instructions to programs that interpret HTML.
< The World Wide Web Consortium (W3C) is a standards organization that controls the evolution of HTML.
< HTML 3.2 is an older but still functional standard.
< HTML 4.01 is the latest version of HTML, which allows cascading style sheets and support multiple languages.
< Cascading Styles Sheets (CSS) is a technology that uses embedded information to define fonts, colors, and phrase elements used on an HTML page.
< Three flavors of HTML 4.01:

= transitional: allows developers to insert formatting using CSS or traditional layout instructions
= strict: requires exclusive use of CSS
= frameset: required for pages that use frames

< XHTML combines HTML and Extensible Markup Language (XML).
< XHTML uses the same flavors as HTML 4.01.
< A Web Browser is an application designed to render hypermedia.

Lesson 3: HTML Coding

< HTTP is the protocol used for transporting HTML files over the Internet.
< Two types of HTML tags:

= container tags: used in pairs; has an opening and closing tag
= empty tags: stand-alone; does not have a closing tag

< Tags are not case-sensitive.
< A tag can consist of three items inside the wickets:

= element: the main instructions of the tag
= attribute: specifies the quality or describes certain aspects of the element
= value: gives value to the element and its attribute

< All HTML 4.01 documents must contain a <DOCTYPE>, <HEAD>, <TITLE>, and <BODY> tag.
< <HTML> identifies the document type as HTML.
< <HEAD> encloses the HEAD section of the document. The title of the document will appear in this section.
< <TITLE> encloses the text that will appear in the browser title bar when the page is loaded.
< <BODY> encloses the BODY of the document. Text typed in the BODY section will appear in the browser window when that page is loaded.
< The Document Type Declaration (DTD) or <!DOCTYPE> tag describes the nature of the HTML code.
< Two reasons for using the DTD tag:

= consider the future and how code might be used
= use DTD as an HTML validator

< Using the DTD tag improves the ability to work with browsers
< DTD statements are placed before the <HTML> tag.
< The <META> tag describes the contents of a page.
< Block-level elements are HTML elements that affect an entire paragraph or multiple paragraphs.
< Text-level elements are HTML elements that affect something as small as a character or a word.
< The <P> tag is a text-level element that defines the start of a new paragraph. It can be an empty or container tag.
< The <BR> tag specifies that a line break is to be inserted wherever the tag occurs; <BR> is always an empty tag.
< HTML uses six Heading Levels:

= <H1> through <H6> are container tags and block-level elements.

< The <PRE> tag allows all line breaks and spacing to be displayed in a browser exactly how they are in the original text.
< The <DIV> container tag is used for indenting paragraphs.
< The <BLOCKQUOTE> container tag is used to center and indent text.
< The <CENTER> container tag can also be used to center and indent text, but the HTML 4.01 recommendation deprecates this tag in favor of the <DIV> tag.
< Text-level elements include:

= <B>
= <STRONG>
= <I>
= <EM>
= <U>

< <B> and <I> are text-level elements. <STRONG> and <EM> are phrase elements.
< Lists are compound block-level elements used to create bulleted and numbered lists.
< There are two types of HTML lists:

= ordered: a numbered list that uses the <OL> container tag
= unordered: a bulleted list that uses the <UL> container tag

Ø <LI>: the empty tag used to specify items in a list

< The syntax for including a comment within your document is as follows:

= <!- - comment - >

Lesson 4: HTML Horizontal Rules and Graphical Elements

< The <HR> empty tag is used to create a horizontal line in an HTML document.
< Attributes of the <HR> tag:

= ALIGN: used to align the horizontal rule on the left, right, or center of the page
= NOSHADE: used to remove the 3-D shading from the line
= SIZE: specify the size in pixels of the line
= WIDTH: specify the percentage of the window or the width in pixels of the line

< The <IMG> empty tag displays a graphic image.

= The key attribute is SRC, this is the source of the image to be displayed.
= Image file formats:

Ø Graphics Interchange Format (GIF): supports fewer colors than JPEG

v GIF 87a
v GIF 89a: supports transparency, interlacing, and animation

Ø Joint Photographic Exports Group (JPEG): supports more colors and file compression
Ø Portable Network Graphics (PNG): proposed as a future standard; compresses the image further than JPEG; combines technology of GIF and JPEG

= ALIGN attributes for the <IMG> tag:

Ø BOTTOM
Ø MIDDLE
Ø TOP
Ø LEFT
Ø RIGHT

= The ALT attribute designates alternate text to appear in the browser while the graphic is loading or in non-graphical browsers.

< HTML used to create special characters:

= ã : &copy or &#169
= â : &reg or &#174
= `e: &eacute
= < : &lt
= > : &gt
= no breaking space: &nbsp

< There are currently 216 Web safe colors.
< Dithering is the ability of computers to approximate a color by combining the RGB values.
< BGCOLOR: attribute that adds color to the background of an HTML document

= hexadecimal values: 00-FF
= RGB values: 0-255
= color names: blue, green, etc.

< TEXT: attribute used to designate text color
< ALINK: used to specify the color of a hyperlink upon mouse press
< LINK: used to specify the color of an unvisited hyperlink
< VLINK: used to specify the color of a visited hyperlink
< BACKGROUND: attribute used to specify a background image of an HTML document
< The <FONT> container tag allows the change of font size, color, and typeface in an HTML document.

= size: 1-7

< CSS has deprecated the <FONT> tag in HTML 4.01.

Lesson 5: HTML Hyperlinks

< Links are created using the <A> anchor tag; this is a container tag.
< HREF: attribute used to specify the target of a link
< Internal links require internal bookmarks to be specified within the document; this is done with the anchor tag.
< Two steps for creating internal links:

= use <A> with the name attribute to define an area as a target
= create a link that points to that target

Lesson 6: HTML Tables

< Tables were first introduced in HTML 2.0.
< The <TABLE> container tag is used to create tables in HTML.

= Attributes for the <TABLE> tags:

Ø BORDER: thickness of the outside line
Ø CELLSPACING: spaces between cell border and text
Ø CELLPADDING: distance between cells
Ø WIDTH: width in pixels or percentage

< The <CAPTION> container tag is an optional tag that can be used to add an attached caption.
< The <TR> container tag is a required tag that contains all data from the current row.
< The <TH> container tag is an optional tag that can be used to designate that top row or left column.
< The <TD> container tag is a required tag unless you are using the <TH> tag. This tag encloses all table contents.
< The ALIGN attribute specifies the horizontal alignment in an HTML table.
< The VALIGN attribute specifies the vertical alignment in ah HTML table.
< Elements that can use the VALIGN attribute:

= <TR>
= <TH>
= <TD>

< Elements that can use the ALIGN attribute:

= <TABLE>
= <TR>
= <TH>
= <TD>
= <CAPTION>

< ROWSPAN and COLSPAN allow rows and columns to be span across multiple rows or columns.

Lesson 7: HTML Forms

< Truly functional HTML forms use Common Gateway Interface (CGI).
< CGI can use server-side or client-side scripting.
< CGI scripts on the server perform two functions:

= receives data from the Web browser
= processes and formats the data

< The <FORM> container tag is used to create an HTML form.
< The <FORM> element has two attributes:

= METHOD: specifies which method the browser will use to send the form data to the server

Ø GET: data is appended to the URL for use in a query string
Ø POST: data is posted to the URL that is specified in the code

= ACTION: specifies the name and location of the CGI script used to process the form

< The <INPUT> empty tag is used to create text boxes, check boxes, radio buttons, and the Submit and Reset buttons in an HTML form.
< The <SELECT> container tag is used to create lists and multi-select lists.
< The <TEXTAREA> container tag is used to create a text area.
< <INPUT> and <SELECT> use the TYPE attribute to designate whether you want a text box, radio button, select list, and so forth.
< The NAME attribute identifies information from a user and associates it with the value specified.
< A text box is used to collect a single line of data. It is the most common form field.

= SIZE: specifies the width of the text box in pixels
= MAXLENGTH: restricts user entries to the specified number of characters

< The Submit button sends data processed by the ACTION attribute.
< The Reset button resets all fields in the form.
< Radio buttons are never stand-alone items. They are reserved for two or more mutually exclusive options and they share the same NAME attribute.
< Check boxes are use for non-exclusive choices. You can check more than one item if you choose.
< Select lists are drop-down lists of predetermined options

= The value passed on when the user clicks Submit is contained within the <OPTION> element.
= The MULTIPLE attribute allows for multiple options.
= The SIZE attribute determines how many items will appear in the list box.

< The textarea element is used to gather more than one line of text from a user.

= <TEXTAREA> is a container tag.
= Attributes of the <TEXTAREA> element:

Ø COLS: width of the text box
Ø ROWS: number of rows of text to display
Ø WRAP: "none" means the text will continue on one line of the text box; "virtual" means the text will wrap as it approaches the border of the text box

Lesson 8: HTML Image Techniques

< An image map is a set or coordinates that creates a "hot spot" on a particular image. The "hot spots" act as hyperlinks once they are clicked on.
< An image map can use client-side or server-side scripting. Server-side image maps require a CGI script.
< The USEMAP attribute indicates that an image is being used with a map.
< <MAP> is the container tag used to define an image map.
< <AREA> is the empty tag used to specify what coordinates and shape the "hot spots" are going to be.
< The SHAPE attribute can be any of the following:

= rect: any two points can define a rectangle
= circle: defined by two coordinates and a radius
= polygon: defined by each individual point of the polygon; up to 100 pair of coordinates

< GIF 89a supports transparency.
< PNG files can also be transparent.
< Interlacing allows an image to progressively display as it is downloaded into the browser.
< An interlaced image scans left to right:

= 1st pass: 13%
= 2nd pass: 25%
= 3rd, 4th, and 5th pass: 25%

< GIF 87a, 89a, and PNG support interlacing.
< GIF 89a supports animation.

Lesson 9: HTML Frames

< Frames are panes created in HTML in which individual pages can be displayed in separate scrollable regions; a single element of a frameset is also known as a frame.
< A frameset document is a Web page that defines a set of frames in which other pages are displayed in each frame
< Frames combine static and dynamic information.
< The <FRAMESET> container tag allows a defined region in the browser window and assign separate files to each region; requires the COLS and ROWS attribute.
< The COLS and ROWS attributes designate the number and size of each frame in a browser window.
<
The <FRAME> empty tag defines the content in each frame and is contained within the <FRAMESET> tag.
< The SRC attribute specifies what file appears in each frame.
< In a frameset document, <FRAMESET> replaces the <BODY> tag.
< The <FRAMESET> tag is placed immediately after the closing </HEAD> tag.
< The <FRAMESET> tag must contain the ROWS or COLS attribute but both attributes cannot appear in the same <FRAMESET>.
< The <NOFRAMES> container tag is used to display text in browsers that do not support frames.
< The TARGET attribute is used to specify which frame to open a hyperlink in.
< The <BASE> empty tag allows you to specify the URL and default TARGET frames to use for all hyperlinks in a file.
< The <BASE> tag goes in the <HEAD> section of an HTML document.
< The FRAMEBORDER attribute designates the appearance of a border around each frame.

= 0: no border
= 1: border

< The MARGINWIDTH and MARGINHEIGHT attributes designate the space in pixels between the frame’s contents and the left and right or top and bottom margins.

Lesson 10: Graphical User Interface (GUI) HTML Editors

< WYSIWYG (wiz-ee-wig): an HTML editor with a GUI interface.
< Page editors only allow the design of individual Web pages.

= Netscape Composer
= Microsoft FrontPage Express

< Site management editors provide page creation and site management functionality.

= Macromedia Dreamweaver
= Microsoft FrontPage
= Allaire HomeSite

< Some basic features offered by most GUI editors include:

= Templates and Wizards: create custom pages to meet your specifications
= Text Style Options: insert text in different styles, alter and apply formats
= Icon Bars: perform the same function as those in text-based toolbars
= Inline Images: easily insert graphics into a Web page
= Hypertext Links: created links to other pages and files
= Import HTML Pages: import Web pages from the Internet and save them to a local drive
= Table Creation: add tables to arrange data and organize page layout
= Publish Documents: post pages to a Web server with the click of a button

Lesson 11: HTML Extensions

< Cascading Style Sheets: a specification for creating lists of formatting instructions with which you can customize your Web pages.
< HTML 4.01 strict demands the use of CSS.
< CSS is broken down into four elements:

= selector: any HTML element you want to include
= declaration: the Property and Value assigned to the selector
= property: the customization of the selector
= value: defining the property (color, size, font)

< The HTML element is the selector in CSS.
< You should separate each declaration with a semicolon.
< CSS1 can be applied in four ways:

= inline style: modify the HTML inside the <BODY> of an HTML document using the <SPAN> container tag or the <STYLE>empty tag.
= embedded style sheet: use the <STYLE> tag within the <HEAD of an HTML document

Ø embedded styles remain in force until overridden with an inline style

= external (linked) style sheet: ensures that all pages have the same look and feel; uses a two part strategy:

Ø create a text file separately from the HTML document
Ø <LINK> the created file within the <HEAD> tag of an HTML document

= imported style sheet: a link to an external file that contains the @import url(filename.css) at the beginning of the document

< JavaScript is an object-oriented scripting language that allows interactivity to Web pages.
< JavaScript must reside within an HTML document.
< Object-Oriented Programming: programming that links data to the processes that manipulate it.
< The <SCRIPT> container tag is used to embed JavaScript into an HTML document.
< The alert () and prompt () functions allow the author to communicate with the user.
< The document.write () function places output text to the window.
< JavaScript can be used for copyright protection.
< Dynamic HTML (DHTML) is an HTML enhancement that allows for animation, interaction, and dynamic updating in Web pages.
< Some features of DHTML:

= automatic adjustment of font sizes
= absolute positioning
= new document content without refreshing the page
= granular control over animation, audio, and video

< Three technologies need to be mastered in order to use DHTML:

= HTML 4.01
= CSS
= Document Object Model (DOM)

< The Document Object Model (DOM) describes the elements within a document rendered by a Web browser.
< To use the DOM for any Web browser, you must use a scripting language.
< Extensible HTML (XHTML) is a combination of XML and HTML.
< XML allows you to create your own markup language by describing the function and context of the content within a document.
< XML is a reduced version of the Standard Generalized Markup Language (SGML).
< Two characteristics of XML:

= it must be well formed
= it must be valid

< Well formed XML:

= must contain the DTD: defines the validity of all subsequent tags
= root element: a container tag that surrounds all others
= property declared container tags (there are no empty tags in XML)
= think ahead and define every element
= tree structure

< Use a style sheet to format XML, either:

= CSS
= XSL (Extensible Style sheet Language): can transform XML into an HTML document